什么时候调用layoutSubviews
什么 调用 时候 layoutSubviews
2023-06-13 09:12:27 时间
大家好,又见面了,我是你们的朋友全栈君。
如果你想强制更新布局,不要直接调用此方法。你可以调用setNeedsLayout方法;如果你想立即数显你的views,你需要调用layoutIfNeeded方法。
layoutSubviews作用
layoutSubviews是对subviews重新布局。比如,我们想更新子视图的位置的时候,可以通过调用layoutSubviews方法,既可以实现对子视图重新布局。
layoutSubviews默认是不做任何事情的,用到的时候,需要在自雷进行重写。
layoutSubviews以下情况会被调用
苹果官方文档已经强调,不能直接调用layoutSubviews对子视图进行重新布局。那么,layoutSubviews什么情况下会被调用呢?通过百度搜索,发现以下几种情况layoutSubviews会被调用。
- 直接调用setLayoutSubviews。(这个在上面苹果官方文档里有说明)
- addSubview的时候。
- 当view的frame发生改变的时候。
- 滑动UIScrollView的时候。
- 旋转Screen会触发父UIView上的layoutSubviews事件。
- 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。
我简单测试了一下,上面基本都会被调用。 注意:
当view的fram的值为0的时候,`addSubview`也不会调用`layoutSubviews`的。
layoutSubviews方法在对自雷视图进行布局的时候非常方便。可以自己动手,深入理解layoutSubviews的调用机制。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159952.html原文链接:https://javaforall.cn
相关文章
- java执行cmd ping命令是什么_急求;java调用window的cmd的ping指令。。。。[通俗易懂]
- EasyCVR视频播放一段时间后不能播放,重启又可以正常播放是什么原因?
- 什么是敏捷开发_一个完整的敏捷开发的流程
- platform_driver_register,什么时候调用PROBE函数 注册后如何找到驱动匹配的设备
- NDK 是什么 | FFmpeg 5.0 编译 so 库
- 唯一约束和唯一索引区别是什么_db2违反唯一索引的约束
- C++的pair_pair的复数是什么
- mysql数据库double类型_timestamp是什么数据类型
- python3 pickle_pickle文件是什么
- EasyCVR调用接口获取RTSP/RTMP播放地址,出现RTSP流地址重复是什么原因?
- AI靠什么超越人类修图师?万字长文看懂「美图云修」AI修图解决方案
- 在Windows 10计算机上安装Python的最佳方法是什么?
- Linux 运行时中断:概念与实现(linux中断是什么)
- Linux系统调用:开启程序的精准通道(linux什么是系统调用)
- CXOracle一款Oracle数据库开发的Python库(cx oracle是什么)
- Redis调用哪款软件给你最佳体验(什么软件能调用Redis)