【问题标题】:Handling a UIBarButtonItem from a UITabBarController (UITabBarControllerDelegate)处理来自 UITabBarController (UITabBarControllerDelegate) 的 UIBarButtonItem
【发布时间】:2012-07-20 00:08:31
【问题描述】:

我是新手 :-(。

我有一个非常标准的选项卡栏控制器,我在其中添加了一个 UIButtonBarItem(我使用情节提要编辑器来执行此操作)。一切看起来都很好,但我不知道如何处理“按钮按下”事件。我已经为标签栏控制器建立了一个委托,所以我可以捕获“didSelectViewController”事件(这似乎没有帮助:-)。

我想我遗漏了一些明显的东西。

【问题讨论】:

    标签: ios uitabbarcontroller uibarbuttonitem


    【解决方案1】:

    当您将其他视图连接到该视图时,标签栏控制器会自动创建按钮。我在使用故事板编辑器时遇到了同样的问题,即使你可以把它放在那里,我相信它不会让你使用它。我认为即使只是设置一个 IBOutlet 也行不通。

    在文档中: http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/TabBarControllers.html

    Apple 专门讨论了您如何创建视图并自动为您处理按钮。

    否则,如果您想要一个不显示新视图的选项卡按钮(这就是我想要的),那么这可能不符合 Apple 关于选项卡控制器的设计原则。

    【讨论】:

    • 我想我不是很清楚,我不是指底部的“标签按钮”,我在顶部导航栏创建了一个按钮。它不会导航到另一个视图,它只是触发一些处理。我的每个选项卡视图都只是提供了另一个数据视图,因此无论您在哪个视图(选项卡)上,您都可以按下该按钮。这有意义吗?
    • 哦,当然。在情节提要视图中,您只需 ctrl 将按钮(在拆分视图中)拖动到头文件中并创建一个动作连接,如下所示:ios.biomsoft.com/2011/10/28/… 这有帮助吗?
    【解决方案2】:

    我终于偶然发现了解决方案:

    1. 为 TabBarController () 设置委托
    2. 在委托上创建一个方法来处理操作:-(IBAction) someHandler:(id) sender;
    3. 将Bar Button Item拖入常用Tab Bar Controller的“导航栏”
    4. 选择栏按钮,按住Control键拖动到“First Responder”并选择“someHandler”方法。

    就是这样,没那么难,早该想通的。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多