【问题标题】:Possible to combine navigation right bar button in storyboard with coded one?可以将故事板中的导航右栏按钮与编码的按钮结合起来吗?
【发布时间】:2016-01-03 16:37:36
【问题描述】:

您好,我在情节提要中创建了一个右侧导航栏按钮项。我现在想在 Apple 的日历应用程序中添加第二个右键。纯代码版本是:

navigationItem.rightBarButtonItems = [rightA, rightB]

但是,我已经在情节提要中创建了一个按钮,其中包含各种出口和转场,理想情况下希望在添加第二个时保留它。我的理解是您现在可以在 Xcode7 的故事板中创建两个按钮,但我仍在 Xcode 6 中,所以我正在考虑某种混合故事板代码解决方案。

这在 Xcode 6 中可行吗?

【问题讨论】:

    标签: ios storyboard rightbarbuttonitem


    【解决方案1】:

    只需使用现有项目和新项目创建一个数组:

    navigationItem.rightBarButtonItems = [navigationItem.rightBarButtonItem!, rightB]
    

    (或反之,如您所愿)。

    【讨论】:

    • 这会保留情节提要项目吗?还有感叹号的意义是什么!
    • @user1904273 是的,它保留了情节提要中现有的条形按钮项。这 !是因为它是 Swift 可选的。从技术上讲,我应该检查它是否为 nil,但出于演示目的,我使用了 !展开。如果使用 Objective-C,代码几乎相同:删除 !,但使用 @[...] 代替 [...] 创建数组。
    • 如何获取故事板中创建的条形按钮的名称?它无法识别 navigationItem.rightBarButtonItem。谢谢!
    【解决方案2】:

    假设您有一个navigationController,您希望在其中有多个按钮。 从 iOS 5 开始,您可以分配一个数组。问题是你失去了所有的好处 使用故事板,因为它将以编程方式完成。

    我使用了以下技巧。通常当你想要多个 导航栏上的按钮,您不需要工具栏。

    在当前视图中(不在导航控制器中) 您希望按钮出现的位置,通过更改显示工具栏

    bottomBar = 推断为 bottomBar = 工具栏。

    在此处输入图片说明

    底部会出现一个工具栏。 将 UIBarButtons 添加到此栏。使用 segue 等将它们链接到其他视图控制器...... 在您的 .h 文件中为每个按钮创建一个插座

    @property (strong, nonatomic) IBOutlet UIBarButtonItem *Button1;

    @property (strong, nonatomic) IBOutlet UIBarButtonItem *Button2;

    @property (strong, nonatomic) IBOutlet UIBarButtonItem *Button3;

    self.navigationItem.rightBarButtonItems = [NSArray arrayWithObjects:self.Button3, self.Button2, self.Button1, nil];

    self.navigationController.toolbarHidden = YES;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      相关资源
      最近更新 更多