如何在 XIB 中指定左、右或标题视图按钮
Posted
技术标签:
【中文标题】如何在 XIB 中指定左、右或标题视图按钮【英文标题】:How to specify the left, right, or title View button in XIB 【发布时间】:2012-11-26 07:40:24 【问题描述】:-
我不想创建自定义导航栏。
我正在推送一个 UIViewController,我想自定义导航栏如何查找该 UIViewController
在故事板中,我们只需指定 segue 并在屏幕上显示导航栏。我们只需要左右拖拽 UIBarItem 即可。
在 XIB 中,navigationBar 根本不显示。
我可以添加导航项,但我添加的一项被忽略了。
我听说曾经有一个名为 navigationItem 的插座,但由于我不知道的原因已被弃用。 我可以添加 UINavigationBar,但是那将添加我自己的自定义栏。我想要 UINavigationController 提供的导航栏。
【问题讨论】:
【参考方案1】:故事板设计器中导航栏的外观只是为了说明当您在 UINavigationController
中加载 ViewController 时屏幕的外观。这并不意味着您的应用中实际上有导航控制器。
您需要将UINavigationController
添加到您的故事板(可能作为第一个场景),然后将您的 ViewController 连接到它(作为根视图控制器)。
然后您应该可以在故事板设计器中设置标题,并将条形按钮项拖到导航栏上。
另请参阅this question 的答案。
【讨论】:
我知道。这不是我要问的。我在问如何通过 XIB 设置这些项目。不简单。我环顾四周。没有简单的答案。 另外,即使只是为了说明,我也确实可以在其中添加左右按钮。【参考方案2】:您可以在代码中设置它。
- (void)viewDidLoad
[super viewDidLoad];
self.title = @"Title";
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"style:UIBarButtonItemStyleBordered target:self action:nil];
self.navigationItem.rightBarButtonItem = "Create button" ;
self.navigationItem.leftBarButtonItem = "Create button" ;
self.navigationItem.titleView = "Create custom title view";
【讨论】:
我知道如何在代码中设置,我想知道如何在 XIB 中正确设置【参考方案3】:我认为这是苹果希望实现的实际方式。
放置 UINavigationBar
将出口设置为 UINavigationItem
这就是问题
覆盖 navigationItem 属性以返回您创建的 UINavigationItem。
就是这样。
-(UINavigationItem *) navigationItem
return self.navigationItem1;
如果您的 navigationItem 仍在 UINavigationBar 中,我认为您也需要有一个强大的 UINavigation Bar 出口。如果我在这里错了,请纠正我。
【讨论】:
以上是关于如何在 XIB 中指定左、右或标题视图按钮的主要内容,如果未能解决你的问题,请参考以下文章