2010-06-24 90 views
2

我建立iPad程序,其基本上具有UITabController其控制和显示器2个UIViewControllers,我通过设置:添加在UITabBar一个按钮,触发一个酥料饼

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

我想一个第三按钮添加到单击时显示Popover的UITabBar。 我不知道如何做到这一点...

我试着像几件事情: (在.H)

UITabBarItem *bbiOpenPopOver; 

(在.M)

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

但我想我是离开了,这没有任何可见的...

我如何添加项目到UITabBar的代码,这将呈现一个Popover?

谢谢你的任何反馈和/或指针。

S.

回答

0

UITabBarItem甲不应显示酥料饼。 Apple HIGs明确指出它们应该用于切换视图,而不应该用于调用代码。

+0

不是我正在寻找的答案,但嘿,我会接受它。我结束了去显示风格... – 2010-06-30 20:56:35

+0

尽管HIG说这一点,不幸的是一堆应用程序。 Instagram,各种购物应用等。他们都希望有一个中间按钮来执行操作。 – 2010-12-06 18:16:16

+0

我不认为OP在问你的意见。我认为她对如何完成这项工作感兴趣。 – hooleyhoop 2011-06-02 08:46:11

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 
} 

这样,您将显示,而不是改变视图,并选择标签弹出。