专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

代码实现CZMenuViewController中的容器视图

  • 现在通过代码设置 windowrootViewController 后,在多任务时, iPhone 界面并不会出来,之前我们是在 Main.storyboard 中设置过.现在需要通过代码来实现
  • CZMenuViewControllercontainerView 属性 的 IBOutlet 去掉
    /// iPhone界面的容器视图
    @property (weak, nonatomic) UIView *containerView;
    
  • CZMenuViewController.m 中定义 setupPhoneContainerView 方法来设置容器视图

      /// 设置容器视图
      - (void)setupPhoneContainerView {
          // 1. 创建iPhone的控制器
          CZTabBarController *tabVC = [[CZTabBarController alloc] init];
    
          // 2. 将tabVC添加为当前控制器的子控制器
          [self addChildViewController:tabVC];
    
          // 3. 将tabVC的view设置为containerView
          self.containerView = tabVC.view;
    
          // 4. 将容器视图添加到self.view
          [self.view addSubview:self.containerView];
      }
    
  • viewDidLoad 调用 setupPhoneContainerView

      - (void)viewDidLoad {
          [super viewDidLoad];
    
          self.view.backgroundColor = [UIColor brownColor];
    
          // 设置容器视图
          [self setupPhoneContainerView];
      }
    
  • 至此,通过代码就设置好了容器视图,在多任务时可以显示 iPhone 界面