按下按钮时显示 ViewController,同时还存在 tabBar

Posted

技术标签:

【中文标题】按下按钮时显示 ViewController,同时还存在 tabBar【英文标题】:Show a ViewController when button pressed, while a tabBar is also present 【发布时间】:2013-03-27 16:16:08 【问题描述】:

我有一个使用 UITabBar 控制器进行导航的简单应用程序。假设我在 tabBar 上有 ViewA 和 ViewB。一切正常。但是,我还想向 ViewA 添加一个 UIButton,当按下时会向用户显示 ViewB。

换句话说,有两种方法可以从 ViewA 到达 ViewB。第一个来自 tabBar,第二个来自 ViewA 中的按钮。

实现这一点的最佳方法是什么。谢谢。

【问题讨论】:

你为什么不使用 tabBarController ? 抱歉,我的意思是我已经在使用 tabBar 控制器了。为了更清楚,刚刚编辑了我的问题, UITabBarController is possible to select the tab via code?的可能重复 【参考方案1】:

好的,那么我将在 ViewA.h 中定义一个协议

@protocol ViewADelegate
-(void)viewAPressButton;
@end

并向 ViewA 添加一个属性:

@property (nonatomic, assign) id<ViewADelegate> delegate

在实例化这个控制器时不要忘记设置这个属性。

在 ViewA.m 中按下按钮时调用此方法

-(IBAction)buttonPressed:(id)sender 
[delegate viewAPressButton];

然后在正确的位置实施(可能是 AppDelegate 在您的情况下?) 假设 ViewB 位于索引 1

-(void)ViewAPressButton 
[self.tabBarController setSelectedIndex:1];

【讨论】:

以上是关于按下按钮时显示 ViewController,同时还存在 tabBar的主要内容,如果未能解决你的问题,请参考以下文章

如何在按下按钮的同时选择两个下拉选项时显示隐藏div

按下单元格内的图像时显示 ViewController [重复]

Qt:按下按钮时显示多个窗口

如何在 QTabWidget 中隐藏选项卡并在按下按钮时显示它

无法强制选择器在按钮按下时显示

按下单元格中的按钮时显示新视图