LayoutSubViews

需要在某个View调整子视图的位置时,可以重写。

以下情况会出发LayoutSubViews方法的调用

  • init初始化不会触发layoutSubviews,但是是用initWithFrame 进行初始化时,当rect的值不为CGRectZero时,也会触发
  • addSubview会触发layoutSubviews
  • 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
  • 滚动一个UIScrollView会触发layoutSubviews
  • 旋转Screen会触发父UIView上的layoutSubviews事件
  • 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件

刷新UIView内部子控件的布局

调用UIView的setNeedsLayout方法,系统标记为需要重新布局。系统会异步调用该视图的layoutIfNeeded刷新布局,不立即刷新,但layoutSubviews一定会被调用。

调用视图的layoutIfNeeded方法,如果有标记需要刷新的视图,会立即调用LayouSubView进行布局。

如果要立即刷新,要先调用[view setNeedsLayout],把标记设为需要布局,然后马上调用[view layoutIfNeeded],实现布局

控制器的声明周期

最新文章

  1. iOS Block理解
  2. NOIP2005 等价表达式
  3. GMap.Net开发之技巧小结
  4. android获取sdk更新
  5. 安装Boost
  6. 读书笔记:《梦断代码Dreaming in Code》
  7. MV45AFZZ 销售订单的增强
  8. Kubernetes fluentd+elasticsearch+kibana
  9. iOS 开发 nonatomic 和 atomic
  10. MySQL数据库需进行修改密码问题解决方案
  11. Ajax和Json的介绍(一)
  12. 如何将本地项目上传到Github
  13. 买二手iphone的建议
  14. [c#基础]使用抽象工厂实现三层 和反射
  15. GENIL_BOL_BROWSER, GENIL_MODEL_BROWSER,BSP_WD_CMPWB 使用方法
  16. PyCharm+Miniconda3安装配置教程
  17. centos7配置hadoop集群
  18. Altium Designer 基本封装
  19. Explaining Delegates in C# - Part 6 (Asynchronous Callback - Way 3)
  20. 【Codeforces】CF 165 E Compatible Numbers(状压dp)

热门文章

  1. 提取json对象中的数据,转化为数组
  2. Git 学习第四天
  3. 当引入的类库存在一个类型时,提示“xxx”和“xxx”之间的不明确引用时,消除歧义的方法
  4. [USACO10FEB]购买巧克力Chocolate Buying
  5. 待办消息查询sql
  6. keras 或 tensorflow 调用GPU报错:Blas GEMM launch failed
  7. oracle中的round()方法的用法
  8. python3添加requests库
  9. ie兼容小知识点
  10. Ubuntu Server 19配置静态IP