添加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];