在UITabBar中添加一个按钮以触发弹出窗口

时间:2010-06-24 18:55:36

标签: iphone objective-c ios4

我正在构建一个iPad应用程序,它基本上有一个UITabController,它控制并显示我设置的2个UIViewControllers:

[tabBarController setViewControllers:
[NSArray arrayWithObjects:browserController, videoController, nil]]; 

我想在UITabBar中添加第3个按钮,在单击时显示Popover。 我不知道怎么做......

我尝试了几件事: (在.h)

UITabBarItem *bbiOpenPopOver;

(在.m)

[bbiOpenPopOver setTitle:@"test"];
tabBarController.navigationItem.rightBarButtonItem = bbiOpenPopOver;

但我想我离开了,这没什么可见的......

如何通过代码将项目添加到UITabBar,这将显示一个Popover?

感谢您提供任何反馈和/或指示。

S上。

2 个答案:

答案 0 :(得分:6)

您可以设置UITabController的委托,然后像这样实现tabBarController:shouldSelectViewController:函数:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    if (viewController == myDummyVC )
    {
        //show popup

        return NO; //does not change the tab
    }

    return YES; //does change the tab
}

这样您将显示弹出窗口而不是更改视图并选择选项卡。

答案 1 :(得分:0)

UITabBarItem不应显示弹出窗口。 Apple HIGs明确声明它们应该用于切换视图,不应该用于调用代码。