【问题标题】:How to specify the left, right, or title View button in XIB如何在 XIB 中指定左、右或标题视图按钮
【发布时间】:2012-11-26 07:40:24
【问题描述】:
  1. 我不想创建自定义导航栏。
  2. 我正在推送一个 UIViewController,我想自定义导航栏如何查找该 UIViewController

在故事板中,我们只需指定 segue 并在屏幕上显示导航栏。我们只需要左右拖拽 UIBarItem 即可。

在 XIB 中,navigationBar 根本不显示。

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

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

【问题讨论】:

    标签: objective-c xcode4.5


    【解决方案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 出口。如果我在这里错了,请纠正我。

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 2014-08-02
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多