我已经在视图控制器中添加了一个标签栏(不是TabViewController),然后将某些标签栏项添加到了该标签栏。
现在,我想将其他View Controller附加到Storyboard中的那些选项卡栏项上。
当我执行Ctrl +从选项卡栏项目拖动到视图控制器时,我没有任何选择。
请提出一种方法。
最佳答案
我有同样的问题,但是我找不到像TabViewController案例中那样将其自己的viewController分配给viewController的方法。
我使用容器解决了。 tabBar中每个tabBarItem的构造器,根据tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
方法中选择的tabBarItem进行隐藏或显示。
1. 在StoryBoard的UIviewController中创建容器:
Just like this选择您的tabBar,然后按Ctrl + Drag委派该类以侦听tabBarDelegate方法:look here
2. 声明对应的IBOutlets,并更新您的tabBAr:
#import <UIKit/UIKit.h>
@interface TabsMainViewController : UIViewController
@property (strong, nonatomic) IBOutlet UITabBar *tabBar;
@property (strong, nonatomic) IBOutlet UIView *directoryContainer;
@property (strong, nonatomic) IBOutlet UIView *groupsContainer;
@end
3. 选择要在tabBarDelegate方法中显示的容器:
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
switch (item.tag) {
case 1:
_directoryContainer.hidden = NO;
_groupsContainer.hidden = YES;
break;
case 2:
_directoryContainer.hidden = YES;
_groupsContainer.hidden = NO;
break;
default:
break;
}
}
希望有帮助!