代碼實現容器視圖

示例代碼:

- (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視圖充當一個容器視圖

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容