UIBarButton未在UINavigationBar中显示

时间:2013-05-30 16:52:27

标签: ios uinavigationcontroller uinavigationbar uibarbuttonitem uinavigationitem

我需要帮助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}}

我不确定缺少什么。

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; 

这对我有用。