我已经在视图控制器中添加了一个标签栏(不是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;
        }

    }

希望有帮助!

10-08 13:54