【问题标题】:is it possible to perform a segue from tab bar item?是否可以从标签栏项目执行转场?
【发布时间】:2016-04-22 11:08:56
【问题描述】:

我在我的应用主页上使用了 UIview 控制器,然后像 Facebook 一样在底部添加了一个标签栏,然后又添加了 3 个标签栏项目,当我将标签栏项目拖动到视图控制器,是否可以编程方式或在情节提要中?

【问题讨论】:

  • 我试图拖动我的标签栏项目来执行我的另一个视图控制器的 segue,但它不允许我

标签: ios objective-c xcode storyboard


【解决方案1】:

我遇到了同样的问题,但是我找不到一种方法来为 viewController 分配它自己的 viewController,就像在 TabViewController 的情况下一样。

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

1. 在 StoryBoard 中的 UIviewController 中创建容器:就像这样选择您的 tabBar 和 Ctrl+Drag 来委托类以监听 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,标签栏项目不能按照您要求的方式使用。

    Ctrl+从你的 tabview 控制器拖动到你想要包含的视图(在这种情况下是第三个)

    然后选择view controllers 选项来添加关系segue。

    【讨论】:

    • 我试过 ctrl 将我的标签栏项目拖到我想继续的视图控制器,但它不允许我,我的主页是视图控制器,我在其中添加了标签栏,然后添加了标签栏项目到标签栏。
    • 这是你的问题,你需要一个实际的 tabBarController 来处理这些标签:
    • 但是你能在标签栏上添加更多的标签栏项目吗
    • 当我放置一个实际的 tabbarController 时,它不允许我在其中放置任何其他视图对象。 Atlas myApp 需要有一个主页,如果没有其他内容,我可以在其中显示 atlas 图像。
    • 我不认为你明白。该控制器不是视图,您的视图(第一、第二、第三)包含您要切换的内容。您的第一个标签图标将是您的“主页”祝您好运
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 2018-08-29
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多