我有一个使用 UITabBar 控制器进行导航的简单应用程序。假设我在 tabBar 上有 ViewA 和 ViewB。一切正常。但是,我还想向 ViewA 添加一个 UIButton,在按下时向用户显示 ViewB。
换句话说,有两种方法可以从 ViewA 到达 ViewB。第一个来自 tabBar,第二个来自按 ViewA 中的按钮。
实现这一目标的最佳方法是什么。谢谢。
我有一个使用 UITabBar 控制器进行导航的简单应用程序。假设我在 tabBar 上有 ViewA 和 ViewB。一切正常。但是,我还想向 ViewA 添加一个 UIButton,在按下时向用户显示 ViewB。
换句话说,有两种方法可以从 ViewA 到达 ViewB。第一个来自 tabBar,第二个来自按 ViewA 中的按钮。
实现这一目标的最佳方法是什么。谢谢。
好的,那么我将在 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];
}