添加barButtonItems到一个没有导航控制器的UINavigationBar

我正在尝试添加一些button到uiNavigationBar,但它不附加到导航控制器,我不希望它是。

我试图添加两个button的左侧的酒吧,但唯一的代码示例我发现,允许这涉及使用行

self.navigationItem.leftBarButtonItems 

显然,我的UINavigationBar不是一个navigatinItem。

这是我如何创build我的NavBar ..

。H

 @property (nonatomic, retain) UINavigationBar *navBar; 

.M

 _navBar = [[UINavigationBar alloc] init]; [_navBar setFrame:CGRectMake(0,0,self.view.bounds.size.width,52)]; [self.view addSubview:_navBar]; 

我已经看到两种方式将项目推送到导航栏,但都没有工作。

首先是..

  UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(buttonSettingClicked)]; [[self navigationItem] setLeftBarButtonItem:barButton] 

  self.navigationItem.leftBarButtonItems = _ArrayOfBarButtons; 

没有一个产生任何结果…我怀疑是因为我的UINavigationBar在技术上不是一个“导航项目”。

那么如何添加项目到我的NavigationBar?

您需要首先创buildUINavigationItem,将button添加到它,然后将navigationItem添加到导航栏。

 [super viewDidLoad]; _navBar = [[UINavigationBar alloc] init]; [_navBar setFrame:CGRectMake(0,0,self.view.bounds.size.width,52)]; [self.view addSubview:_navBar]; UINavigationItem *navItem = [[UINavigationItem alloc]initWithTitle:@""]; UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(buttonSettingClicked)]; [navItem setLeftBarButtonItem:barButton]; [_navBar setItems:@[navItem]]; 
  m_navBar = [[UINavigationBar alloc] init]; [m_navBar setFrame:CGRectMake(0,0,self.view.bounds.size.width,52)]; [self.view addSubview:m_navBar]; UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(buttonSettingClicked)]; UINavigationItem* navItem = [[UINavigationItem alloc] initWithTitle:@"MyItem"]; [m_navBar pushNavigationItem:navItem animated:NO]; navItem.leftBarButtonItems = @[barButton, barButton];