2012-01-19 63 views
0

我有一个标签栏控制器与一些选项卡/视图。我在标签栏控制器的顶部导航栏中添加了“帮助”栏按钮项目。处理点击标签栏控制器标题中的按钮

如何处理此按钮的点击,理想情况下取决于我当时处于哪个视图?

我只是简单地弹出一个警告,当它被点击,即。无需导航。

回答

0

理想情况下,此“帮助”选项卡不应根据上下文更改其行为,即先前选择了哪个选项卡。用户会感到困惑,因为内容不会保持不变。

如果您在选择该选项卡时引发“弹出式警报”,这也可能是因为用户体验不佳而被拒绝的基础。选择标签应显示该标签的新视图。您还必须处理如何以静默方式将用户移回到先前的选项卡,和/或不更改选定的选项卡索引。再次,这是令人头疼的用户体验。

如果您坚持使用此设计 - 我相信这会让您的应用遭到拒绝 - 您可以使用UITabBarControllerDelegate来控制UITabBarController的行为。

我建议你改变你的设计。

0

我已经设法得到这个工作。我认为你误解了:我有一个标签栏控件,通过按照所选标签推送视图来正常运行。我只是想在导航栏右侧的一个帮助按钮打开警报,并提供有关当时您正在使用的选项卡的信息。通过弹出和警报

UIBarBarButtonItem *helpButton = [[UIBarBarButtonItem alloc] initWithTitle:@"Help" style:UIBarButtonItemStylePlain target:self action:@selector(helpButtonPressed))]; 
self.tabBarController.navigationItem.rightBarButtonItem=helpButton; 

我那么有helpButtonPressed函数来处理按一下按钮,在我的情况:我已经做了这样的:

在通过标签栏控制器推每个视图的viewDidAppear与一些关于该标签的帮助信息。