Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 不带TabBarController的选项卡栏-为序列图像板中的选项卡栏项目添加视图控制器_Ios_Swift_Tabs_Uistoryboard - Fatal编程技术网

Ios 不带TabBarController的选项卡栏-为序列图像板中的选项卡栏项目添加视图控制器

Ios 不带TabBarController的选项卡栏-为序列图像板中的选项卡栏项目添加视图控制器,ios,swift,tabs,uistoryboard,Ios,Swift,Tabs,Uistoryboard,我向视图控制器添加了一个选项卡栏(不是TabViewController),然后向该选项卡栏添加了一些选项卡栏项目 现在,我想将其他视图控制器附加到序列图像板中的那些选项卡栏项 当我按Ctrl键并拖动以从选项卡栏项查看控制器时,我不会得到任何选项 请建议一种方法。我也有同样的问题,但我找不到一种方法将自己的viewController分配给viewController,就像TabViewController一样 我使用容器解决了这个问题。为选项卡栏中的每个选项卡项添加一个contarner,根据

我向视图控制器添加了一个选项卡栏(不是TabViewController),然后向该选项卡栏添加了一些选项卡栏项目

现在,我想将其他视图控制器附加到序列图像板中的那些选项卡栏项

当我按Ctrl键并拖动以从选项卡栏项查看控制器时,我不会得到任何选项


请建议一种方法。

我也有同样的问题,但我找不到一种方法将自己的viewController分配给viewController,就像TabViewController一样

我使用容器解决了这个问题。为选项卡栏中的每个选项卡项添加一个contarner,根据
选项卡栏:(UITabBar*)选项卡栏didSelectItem:(UITabBarItem*)项
方法中选定的选项卡项隐藏或显示

1。在情节提要中的UIviewController中创建容器: 选择tabBar并按住Ctrl键并拖动,以委派类来侦听tabBarDelegate方法:

2.声明相关的IBOUTLES,包括您的标签栏:

#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

希望有帮助

可能是我自己的复制品我曾想过这样做,当没有其他方法时,我也是这样做的。同样的事情也发生在我身上,这就是为什么最好使用TabBarController。然而,我不能,因为我需要将选项卡栏放在屏幕的顶部(而不是底部默认位置)。然后,我不得不使用容器。我有5个选项卡,所以添加了5个容器和5个视图控制器。但是,当我的主视图控制器(包含容器)被加载时,所有的子VCs都被加载,并且它们的viewDidLoad方法被调用。但当我切换到tab时,我想执行一些操作。怎么做?有没有办法一次只将一个VC加载到内存中,并仅在选择选项卡时替换它?通过上述方法,所有5个VC都可以立即加载到内存中。
-(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;
        }

    }