代码实现容器视图

示例代码:

- (void)viewDidLoad {
    [super viewDidLoad];
#pragma mark -- 代码实现容器视图

    //容器视图使用场景:内嵌视图控制器
    JSTabBarController *tabBarController = [[JSTabBarController alloc] init];
    tabBarController.view.backgroundColor = [UIColor randomColor];
    
    // 添加内嵌控制器为子控制器  (如果只addSubView不托管控制器,就会导致响应者链条断开,监听不到响应事件)
    // 此控制器的View就相当于容器
    [self addChildViewController:tabBarController];

    // 添加内嵌控制器的视图为子视图 让内嵌的内容显示
    [self.view addSubview:tabBarController.view];

}

与使用StoryBoard区别:
StoryBoard中是添加一个ContainerView,然后在ContainerView中内嵌一个控制器

注意点:

  • ContainerView本身无法进行渲染,只是一个容器

  • 当前控制器继承自UIViewController
    1.实例化的tabBarController用来保证响应链条的完整,接收响应事件
    2.tabBarController的view视图充当一个容器视图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容