源码

首页 » 归档 » 源码 » iOS小技巧·把子视图控制器的视图添加到父视图控制器

iOS小技巧·把子视图控制器的视图添加到父视图控制器


1. 把子视图控制器的视图添加到父视图控制器并覆盖

  • 添加子控制器

#pragma mark - 添加子控制器
- (void)addSubControllers{
  [self addChildViewController:_childViewController];
  [self.view addSubview:_childViewController.view];
  [_childViewController.view mas_makeConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(self.view);
  }];
}

2. 把子视图控制器的视图添加到父视图控制器的指定容器视图,适当时机跳转

  • 添加子控制器

#pragma mark - 添加子控制器
- (void)addSubControllers
{
    _childViewController = [[InfoViewController alloc] initWithNibName:NSStringFromClass([InfoViewController class]) bundle:nil];
    [self addChildViewController: _childViewController]; 
    _childViewController.sModel = self.sModel;
}
  • 跳转控制器

#pragma mark - 跳转控制器
- (void)gotoContentView
  [self.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
  [self fitFrameForChildViewController:_childViewController];
  //设置默认显示在容器View的内容
  [self.contentView addSubview:_childViewController.view];
}
  • 子VC的布局约束

#pragma mark - 子VC的布局约束
- (void)fitFrameForChildViewController:(UIViewController *)chileViewController{
    CGRect frame = self.contentView.frame;
    frame.origin.y = 0;
    chileViewController.view.frame = frame;
}

作者:陈满iOS

链接:https://www.jianshu.com/p/06e334efc46e

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/iosxiaojiqiao%c2%b7bazishitukongzhiqideshitutianjiadaofushitukongzhiqi.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 3, 2018 at 10:11 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复