0
  1. 我不想创建自定义导航栏。
  2. 我正在推送一个 UIViewController,我想自定义导航栏如何查找该 UIViewController

在故事板中,我们只需指定 segue 并在屏幕上显示导航栏。我们只需将 UIBarItem 拖放到左侧和右侧。

在 XIB 中,navigationBar 根本不显示。

我可以添加导航项,但我添加的一项被忽略了。

我听说曾经有一个名为 navigationItem 的出口,但由于我不知道的原因它已被弃用。我可以添加 UINavigationBar,但是那将添加我自己的自定义栏。我想要 UINavigationController 提供的导航栏。

4

3 回答 3

2

故事板设计器中导航栏的外观只是为了说明当您将 ViewController 加载到UINavigationController. 这并不意味着您的应用程序中实际上有一个导航控制器。

您需要将 a 添加UINavigationController到您的故事板(可能作为第一个场景),然后将您的 ViewController 连接到它(作为根视图控制器)。

然后您应该能够在故事板设计器中设置您的标题,并将条形按钮项拖到导航栏上。

另请参阅此问题的答案。

于 2012-11-26T11:38:54.400 回答
0

我认为这是苹果希望实现这一点的实际方式。

把 UINavigationBar

将出口设置为 UINavigationItem

这是陷阱

覆盖 navigationItem 属性以返回您创建的 UINavigationItem。

而已。

-(UINavigationItem *) navigationItem
{
    return self.navigationItem1;
}

如果您的 navigationItem 仍在 UINavigationBar 中,我认为您也需要对 UINavigation Bar 有一个强大的出口。如果我在这里错了,请纠正我。

于 2012-11-26T11:33:09.090 回答
0

您可以在代码中设置它。

- (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";
}
于 2012-11-26T11:02:29.297 回答