从选项卡栏目中是否可以执行转场操作?

3

我在我的应用主页中使用了一个UIview控制器,然后在底部添加了一个类似Facebook的选项卡,然后又添加了3个选项卡,但是当我拖动选项卡到一个视图控制器时,它不会让我执行转场操作。是否可以在代码中或者故事板中实现这个功能?


我尝试拖动我的选项卡栏项目以执行到我的其他视图控制器的segue,但它不允许我这样做。 - Ayush
2个回答

3

我也遇到了同样的问题,但是我找不到一种方法来为一个视图控制器分配自己的视图控制器,就像TabViewController的情况一样。

我使用容器解决了这个问题。为你的tabBar中的每个tabBarItem创建一个容器,在tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item方法中根据所选的tabBarItem显示或隐藏它们。

1.在storyBoard中的UIviewController中创建您的容器:就像选择您的tabBar并Ctrl+拖动以委托类来监听tabBarDelegate方法:请看这里

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;
        }

    }

希望这能帮到你!

2
简单来说,您需要一个UITabViewController,选项卡无法以您所要求的方式使用。
从tab视图控制器Ctrl+拖动到您想包含在内的视图(在此案例中为第三个)。
然后选择“视图控制器”选项以添加关系segue。

我尝试着使用ctrl拖动我的标签栏项目到我想要创建segue的视图控制器,但它不允许我这样做。我的主页是一个视图控制器,在其中我添加了标签栏,然后将标签栏项目添加到了标签栏中。 - Ayush
这是你的问题,你需要在其中放置一个实际的tabBarController来处理这些选项卡: - lukeswitz
但是你能在选项卡栏上添加更多的选项卡吗? - Ayush
当我放置一个实际的tabbarController时,它不允许我在其中放置任何其他视图对象。因此,我的应用程序需要一个主页,在那里我可以显示一个图像,如果没有其他内容的话。 - Ayush
1
我觉得你还没有理解。那个控制器不是一个视图,你有视图(第一、第二、第三)包含了你要切换的内容。你的第一个选项卡图标将成为你的“主页”。祝你好运。 - lukeswitz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接