我正在尝试向uiNavigationBar添加一些按钮,但它没有附加到导航控制器,我不希望它。
我正在尝试在栏的左侧添加两个按钮,但我发现的唯一代码示例允许这涉及使用行
self.navigationItem.leftBarButtonItems
显然,我的UINavigationBar不是navigatinItem。
以下是我创建导航栏的方法..
·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?
答案 0 :(得分:5)
首先需要创建UINavigationItem,向其添加按钮,然后将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]];
答案 1 :(得分:0)
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];