UIContainerView纯代码实现及原理介绍

  • 1.1-在StoryBoard中使用UIContainerView
  • 1.2-纯代码使用UIContainerView
  • 1.3-UIContainerview特点及原理分析

1.1-在StoryBoard中使用UIContainerView

  • 1.在storyboard中搜索UIContainerview并拖入到控制器中,设置约束

  • 2.可以看到ContainerView自带一个segue连线的控制器,而这个Segue既不是Push跳转而不是Model跳转,而是Embed嵌入的形式

  • 3.运行,可以看到右侧控制器的视图通过UIContainerView嵌入到左侧的控制器中

1.2-纯代码使用UIContainerView

  • 1.创建一个控制器,设置背景颜色为绿色

  • 2.将Storyboard中的UIContainerView拖到代码时,会发现根本没有UIContainerview这个类,它的本质其实就是一个UIView

    • 本人推测:它本质上应该是一个未开放的UIView的一个Category分类

  • 3.纯代码实现UIContainerview


#import "ViewController.h"#import "SecondViewController.h"@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *containerView;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];[self addContainerView];// Do any additional setup after loading the view, typically from a nib.
}- (void)addContainerView
{//1.创建containerView目标控制器SecondViewController *second = [[SecondViewController alloc] init];//设置背景颜色second.view.backgroundColor = [UIColor greenColor];//2.将目标控制器的视图赋值给容器视图(不能用addSubView,否则设置frame无效)self.containerView = second.view;//设置显示大小self.containerView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height-200);//3.添加到当前视图[self.view addSubview:self.containerView];//4.获取到Containerview的目标控制器NSLog(@"%@",self.containerView.nextResponder);
}- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}@end

1.3-UIContainerview特点及原理分析

  • UIContainView是iOS系统中非常特殊的一个控件,它的主要特点如下:

    • (1)只能在Storyboard中搜索到UIContainerview,代码中没有这个类

      • 应该是属于系统并未开放的UIView的分类
    • (2)是一个不能够被渲染的视图容器
      • 不能被渲染,也就是说设置背景颜色backgroundColor和bounds属性等一些渲染属性是无效的
  • UIContainerview的原理

    • UIContainer通过强引用控制器的视图(赋值操作),再作为其他控制器的子视图,从而达到一个控制器中显示两个控制器视图的效果

01-UIContainerView纯代码实现及原理介绍相关推荐

  1. 前端JavaScript代码混淆加密原理介绍

    因为JavaScript大都是运行在浏览器端,这就导致任何人都可以直接对网站的代码进行查看,如果代码没有进行任何处理就会导致直接暴露源码,他人便可轻而易举的复制你的劳动成果,但是由于没有纯粹的加密方案 ...

  2. iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比

    iOS回顾笔记( 01 )--  XIB和纯代码创建应用的对比 很多时候我们工作很久突然闲下来的时候,是不是也感到无聊过?这就是我现在的生活,不过闲一段时间也挺好,可以好好回顾一下自己以前学习iOS路 ...

  3. 机器翻译评价指标之BLEU原理介绍及代码实现

    欢迎关注知乎: 世界是我改变的 知乎上的原文链接 一. 原理介绍 BLEU(Bilingual Evaluation Understudy),即双语评估替补.所谓替补就是代替人类来评估机器翻译的每一个 ...

  4. 【原理】#01红外热成像仪的工作原理介绍

    红外热成像仪是电测中比较特殊的一种仪器设备,在温度测试领域有着广泛的应用. 红外热成像仪测温的原理是怎么样的?如何选择合适的热成像仪? 安泰小课堂将分两期视频为大家进行揭秘. 本期内容将重点讲解红外热 ...

  5. 光场相机重聚焦原理介绍及代码解析

    光场相机重聚焦原理介绍及代码解析 光场相机重聚焦–焦点堆栈深度估计法 全部代码下载地址: https://download.csdn.net/download/weixin_38285131/1044 ...

  6. 合并bn层到conv或FC层原理介绍及代码实现

    原 合并bn层到conv或FC层原理介绍及代码实现 2017年11月09日 17:38:27 crazy-ye 阅读数:5932更多 <div class="tags-box spac ...

  7. Decawave官方双边测距(一对一)原理介绍及代码实现

    Decawave官方双边测距(一对一)原理介绍及代码实现 一.运行平台 运行软件平台:Keil5 运行硬件平台:STM32 开发板型号:UWB-S1学习板 开发板淘宝链接:https://item.t ...

  8. Apache 文件解析漏洞SSRF漏洞原理介绍及代码

    Apache 文件解析漏洞 SSRF漏洞原理介绍及代码 1. Apache 环境简介 2. Apache 解析漏洞介绍 3. 解析漏洞利用演示 4.利用场景介绍 1. Apache 环境简介 ​ Ap ...

  9. 代码混淆的原理是什么?常见代码混淆方法介绍

    移动应用代码安全非常重要,代码逆向会导致代码逻辑被获取,进一步导致控制流被hook,安全防线被破,给APP安全带来巨大风险,因此开发者一般都会进行代码混淆保护.本文主要介绍了代码混淆的原理.方法.以及 ...

最新文章

  1. 深入python3 (Dive Into Python 3) 在线阅读与下载
  2. JspServlet之Cookie
  3. 2018 Multi-University Training Contest 6-oval-and-rectangle(hdu 6362)-题解
  4. 微信小程序————经纬度转化为具体位置(逆地址解析)
  5. MySQL事务以及加锁机制
  6. 竞价推广账户创意撰写的技巧之核心思路
  7. Unity优化之GC——合理优化Unity的GC (难度3 推荐5)
  8. 辽宁交通职业技术学校计算机好不好,辽宁省交通高等专科学校信息工程系
  9. 此人数学15分考入清华,28岁成清华教授,其家族出了20多位院士
  10. 2018软件工程第九次作业(团队四)
  11. javascript中常用的对象创建方式有哪些?
  12. 关于阿拉qq大盗屏蔽winhex之后的破解.
  13. Html中如何自定义Video显示的长宽比
  14. 嵌入式面试之————大小端
  15. win2008服务器系统升级,Windows Server 安装和升级
  16. linux服务器上装r,linux服务器安装R语言及Rstudio server
  17. 无图言屌?YYImage 设计思路,实现细节剖析
  18. 边缘计算在智慧制造领域的应用
  19. DiCOM文件判断原图是否被翻转(镜像)
  20. 汽车融资租赁详解及流程介绍

热门文章

  1. 三十、Pyspider爬虫框架总结,爬取Scrapy文档
  2. tornado环境搭建
  3. EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
  4. 吊打一切现有开源OCR项目!90% +准确率,训练部署一条龙
  5. 做科研没人带,发不了文章怎么办?
  6. 重磅公开课推荐 | 如何搭建聊天机器人:技术架构剖析
  7. A flight (to Boston) to Denver - 基于转移的顺滑技术研究 | 论文访谈间 #22
  8. Java数组和Arrays类
  9. 东北大学 计算机调剂,2018年东北大学信息科学与工程学院考研调剂信息
  10. 将您重定向的次数过多什么意思_电池循环次数是什么意思?怎么计算的?