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

栏目: C · 发布时间: 6年前

内容简介:1. 把子视图控制器的视图添加到父视图控制器并覆盖2. 把子视图控制器的视图添加到父视图控制器的指定容器视图,适当时机跳转作者:陈满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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

若为自由故

若为自由故

[美] Sam Williams / 邓楠、李凡希 / 人民邮电出版社 / 2015-4 / 49

理查德·马修·斯托曼(Richard Matthew Stallman,简称RMS)是自由软件之父,他是自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者。作为一个著名的黑客,他的主要成就包括Emacs及后来的GNU Emacs、GNU C 编译器及GDB 调试器。他编写的GNU通用公共许可证(GNU GPL)是世上最广为采用的自由软件许可证,为copyleft观念开拓出一条崭新的道路。......一起来看看 《若为自由故》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具