我需要帮助UIBarButtonItem
UINavigationBar
没有显示在我的UINavigationBar
。
我正在尝试在{strong>第三个视图中添加UINavigationController
。由于我不确定UINavigationBar
是否有效,我决定手动初始化UINavigationItem
及其initwithTitle
UIBarButtonItem
。该代码有效,但我的问题是添加了UINavigationBar
,因为它不会显示在- (void)viewDidLoad
{
[super viewDidLoad];
UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Title"];
[navigationBar pushNavigationItem:navigationItem animated:NO];
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
target:self
action:@selector(showPI:)];
self.navigationItem.rightBarButtonItem = button;
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 44.0, self.view.frame.size.width, self.view.frame.size.height - navigationBar.frame.size.height) style:UITableViewStylePlain];
self.tableView = tableView;
[self.view addSubview:tableView];
[self.view addSubview:navigationBar];
[self showCurrencies];
self.tableView.dataSource = self;
self.tableView.delegate = self;
}
中。
{{1}}
我不确定缺少什么。
答案 0 :(得分:1)
在您的情况下,您正在创建自己的navigationBar。尽量不要为你的navigationItem分配init,而是使用
UINavigationBar *navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
UINavigationItem *item = [navigationBar.items lastObject];
然后将创建的barbuttonItem设置为项目的rightBarButtonItem,
item.rightBarButtonItem = button;
这对我有用。