添加栏按钮项目

Adding Bar Button Item

问题

我这辈子都无法展示它。

这是导航栏的实现

_navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)];
[_navBar setDelegate:self];
[self.view addSubview:_navBar];

_navBar 是一个 UINavigationBar 属性.

这是我添加按钮的地方。

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                                                                        target:self
                                                                        action:@selector(flipView:)];
self.navigationItem.rightBarButtonItem = button;

但是,没有任何显示。有帮助吗?

self.navigationItem 由父 UINavigationController 自动读取。但是你没有。

因此,您有两个选择:

  • 不是您自己创建并放入界面的松散导航栏(就像您在第一个代码中所做的那样),而是成为 UINavigationController 的子项。现在设置 self.navigationItem 将起作用。

  • 或者,创建一个导航项,对其进行配置,然后手动将其推送到松散的导航栏上。您的代码将具有以下结构:

    UINavigationItem* ni = [[UINavigationItem alloc] initWithTitle:// ...];
    UIBarButtonItem* b = // ...;
    ni.rightBarButtonItem = b;
    _navbar.items = @[ni];