可以从标签栏项目执行segue吗?

时间:2015-07-07 20:33:18

标签: ios objective-c xcode storyboard

我在我的应用主页上使用了一个UIview控制器,然后在Facebook底部添加了一个标签栏,然后又添加了3个标签栏项,拖动标签栏时我不会让我执行一个segue项目到视图控制器,可能是进度还是故事板?

2 个答案:

答案 0 :(得分:2)

简单:您需要一个UITabViewController,标签栏项目不能按照您要求的方式使用。

Ctrl +从tabview控制器拖动到您要包含的视图(在本例中为第三个)

然后选择视图控制器选项以添加关系segue。

答案 1 :(得分:1)

我遇到了同样的问题,但我找不到像在TabViewController案例中那样为viewController分配自己的viewControllers的方法。

我使用容器解决了它。 tabBar中每个tabBarItem的一个容器,根据tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item方法中选定的tabBarItem隐藏或显示。

1. 在storyBoard中的UIviewController中创建容器:就像这样选择你的tabBar和Ctrl + Drag来委托类来监听tabBarDelegate方法:看这里

2。宣布使用的tabOr,包括你的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;
        }

    }

希望有所帮助!