UITabBarItem 执行 IBAction Xcode 4.2

Posted

技术标签:

【中文标题】UITabBarItem 执行 IBAction Xcode 4.2【英文标题】:UITabBarItem execute an IBAction Xcode 4.2 【发布时间】:2011-12-29 01:45:54 【问题描述】:

我希望能够在单击选项卡栏项时执行 IBaction。我正在使用 Xcode 4.2 具有的默认选项卡栏模板,并且我了解如何将 IB 操作链接到按钮...但是,我在尝试将 IBaction 链接到 tabBaritem(在屏幕底部)时遇到了困难。那么当有人点击我的一个标签时,就会执行一个动作?

如何执行此操作?

谢谢!

【问题讨论】:

【参考方案1】:

尝试使用标签栏作为工具栏并不是一件好事,有一个 UI 元素可以做到这一点。如果您确实想在单击选项卡栏按钮时运行某个动作,则需要将其添加到由该按钮激活的控制器中。

【讨论】:

完全正确 - 改用 UIToolbar 我同意,但作为开发人员,您并不总是能够控制设计。我还需要从标签栏执行一些操作。所以我需要一个解决方法【参考方案2】:

这可以通过将您的 ViewController 设置为 UITabBarDelegate 然后为每个选项卡栏项(我将它们标记为 0、1 和 2)指定一个标签来完成。然后实现 UITabBarDelegate 方法,如下所示。只需将“[self performTaskXXX]”替换为您需要运行的任何代码即可。

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
  
    switch (item.tag) 
    case 0:
        [self performTaskOne];
        break;
    case 1:
        [self performTaskTwo];
        break;
    case 2:
        [self performTaskThree];
        break;
    default:
        break;
    

【讨论】:

以上是关于UITabBarItem 执行 IBAction Xcode 4.2的主要内容,如果未能解决你的问题,请参考以下文章

使用 UITabbaritem 作为 UIButton

如何在更多部分中获取 UITabBarItem 的标题?

如何在 iOS 4 中更改 UITabBarItem 中文本的颜色

在 appDelegate 中设置 UITabBarItem 徽章值

如何将 UITabBarItem 标题更改为另一个 UITabBarItem 的标题?

如何将标签栏项目连接到操作?