【发布时间】:2016-04-22 01:19:52
【问题描述】:
我已经向视图控制器添加了一个标签栏(不是 TabViewController),然后向该标签栏添加了一些标签栏项目。
现在我想将其他视图控制器附加到 Storyboard 中的那些标签栏项目。
当我从标签栏项目按 Ctrl + 拖动到视图控制器时,我没有得到任何选项。
请提出一种方法来做到这一点。
【问题讨论】:
标签: ios swift tabs uistoryboard
我已经向视图控制器添加了一个标签栏(不是 TabViewController),然后向该标签栏添加了一些标签栏项目。
现在我想将其他视图控制器附加到 Storyboard 中的那些标签栏项目。
当我从标签栏项目按 Ctrl + 拖动到视图控制器时,我没有得到任何选项。
请提出一种方法来做到这一点。
【问题讨论】:
标签: ios swift tabs uistoryboard
我遇到了同样的问题,但是我找不到一种方法来为 viewController 分配它自己的 viewController,就像在 TabViewController 的情况下一样。
我使用容器解决了这个问题。 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;
}
}
希望有帮助!
【讨论】: