我已经创建了一个UITabController,里面有一个UITabbar。点击UITabbarItem后打开UIViewController
我没有使用的UITabBarController,因为我想在屏幕的顶部UITabbar。
单击tab1时,我想呈现controller1并单击tab2我想呈现控制器2.我不希望tabbar隐藏。我想在tabbar下面显示控制器。
@interface MTLeaderFactoViewController() <UITabBarDelegate>
@property (weak, nonatomic) IBOutlet UITabBar *tabBar;
@end
@implementation MTLeaderFactoViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
}
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
if (item.tag == 0) {
NSLog(@"item tag 0");
} else {
NSLog(@"item tag 1");
}
}
@end
我的问题:
1)didSelectItem即使使用UITabbarDelegate
2)什么是一个按钮,点击后显示控制器的最优雅的方式后方法不会被触发?我不想使用segue,因为所有的控制器都在不同的故事板中。 现在,我打算做
Controller1 *fp = [Controller1 controllerStoryboard:STORYBOARD_COURSE];
[self addChildViewController:fp];
[self.view addSubview:fp.view];
[fp didMoveToParentViewController:self];
编辑1:
Controller1 *fp = [Controller1 controllerStoryboard:STORYBOARD_COURSE];
[self addChildViewController:fp];
[self.view addSubview:fp.view];
[fp didMoveToParentViewController:self];
试过,但它隐藏标签栏。我想利用标签栏下方的空间来显示控制器
你是否将'UITabbarDelegate'设置为'MTLeaderFactoViewController'?只是实现委托方法不会调用委托方法。 – Priyal
将TabBar委托连接到xib/StoryBoard中的ViewController –
哦,上帝,我的坏。感谢您指出了这一点。 –