layoutSubviews解析

layoutSubviews解析1.layoutSubviews的触发1、 init初始化不会触发layoutSubviews2、 addSubview会触发layoutSubviews3、 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化4、 滚动一个UIScrollView会触发layoutSubviews5、 旋转Screen

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.layoutSubviews的触发

1、 init初始化不会触发layoutSubviews。

2、 addSubview会触发layoutSubviews。

3、 设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化。

4、 滚动一个UIScrollView会触发layoutSubviews。

5、 旋转Screen会触发父UIView上的layoutSubviews事件。

6、 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。

7. 一个view是不能够自己调用layoutSubviews,如果要调用,需要调用 setNeedsLayout或者 layoutIfNeeded。

8. 如果view的frame值为0,即使被添加了耶不会调用layoutSubviews。

2.Lays out subviews文档解析。

The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, the default implementation uses any constraints you have set to determine the size and position of any subviews.

在iOS5.1或之前的版本中,这个方法什么也没干.这个方法的默认实现是 用参数来设定subviews的尺寸和位置的 . 

Subclasses can override this method as needed to perform more precise layout of their subviews. You should override this method only if the autoresizing and constraint-based behaviors of the subviews do not offer the behavior you want. You can use your implementation to set the frame rectangles of your subviews directly. 

如果你需要更加精确的布局,可以在子类里面重写这个方法.仅仅在以下情况下:自动布局达不到你想要效果时你才有必要重写这个方法.你可以直接设置subviews的尺寸.

You should not call this method directly. If you want to force a layout update, call the setNeedsLayout method instead to do so prior to the next drawing update. If you want to update the layout of your views immediately, call the layoutIfNeeded method. 

你不能直接调用这个方法.如果你需要强制layout刷新,调用setNeedsLayout来代替.如果你想要立即刷新你的view,调用layoutIfNeeded

大概总结以下就是:

你不要直接调用方法layoutSubviews,如果想要刷新,请调用 setNeedsLayout 或者 layoutIfNeeded。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159918.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ASSERT_VALID_assert语句

    ASSERT_VALID_assert语句ASSERT()ASSERT()被测试它的参数,若参数为0,则中断执行并打印一段说明消息。在Release版本的程序中它不起任何作用。ASSERT()使用的时候必须保证参数表达式中不能有函数调用(译者注:ASSERT()宏在Release版本中不对表达式求值),因此对于任何有函数调用的参数表达式,应该使用宏VERIFY(),以保证表达式中的函数调用在Release版本中会被正确求值…

    2025年9月20日
    8
  • Windows 下使用 Mingw32-make 来执行 Makefile示例[通俗易懂]

    文章目录先下载Mingw设置好环境变量确认安装环境状态gccmingw32-makeC工程测试main.cmath.ccall_math.c准备好Makefile文件执行Makefile执行前执行后运行main.exe执行Makefileclean清理文件执行前执行后整体运行演示GIFReferernces先下载Mingw这里使用的是mingw32不是64的,需要64位的自行搜索下载32位的可以参考我之前一篇的:C-BookNote-Win开发环境设置

    2022年4月8日
    171
  • 21.2 日志格式

    21.2 日志格式大部分商用和开源的HTTP应用程序都支持以一种或多种常用格式进行日志记录。很多这样的应用程序都支持管理者配置日志格式,创建自定义的格式。应用程序支持管理者使用这些更标准的格式的主要好处之一就在于,可以充分利用那些已构建好的工具处理这些日志,并产生基本的统计信息。有很多开源包和商用包都可用来压缩日志,以进行汇报。使用标准格式,应用程序及其管理员就都可以利用这些包了。1.常见日志格式现在,最

    2022年6月10日
    34
  • 2021年中国智能制造行业产业链研究报告_十四五规划 制造业

    2021年中国智能制造行业产业链研究报告_十四五规划 制造业下载报告去公众号:硬核刘大后台回复“智能工厂”,即可下载完整PDF文件。更多报告内容,可加微信:yw5201a1领取。(ps:加过微信:chanpin628的不要再加,分享的内容一样,有一个号就行。)申明:报告版权中商产业研究院独家所有,此处仅限分享学习使用,如有侵权,请联系小编做删除处理。…

    2025年10月29日
    4
  • 钩子函数介绍(vue11个钩子函数)

    钩子(hook)又称钩子函数,是在一个有序的周期中的某些特殊时刻,系统内部预先设置好的函数,当系统周期到达指定时刻会自动执行该’钩子’。钩子函数的函数体内容由开发者编写,这绐了幵发者在不同阶段做某些处理的机会。钩子是很多开发语言,前后端都会涉及的概念,是一种形象的说法,源于Windows的消息处理机制。通过设置钩子,应用程序在消息过去前将其钩住,阻止其传递,然后优先处理开发者的自定义内容,俗称’下个钩子’。系统:初始化..钩子ready()运行..钩子beforeEnd(…

    2022年4月12日
    74
  • Java.Utils:AES-128-CBC 加密方式

    packagecom.boob.common.utils;importorg.apache.commons.codec.binary.Base64;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.BadPaddingException;importjavax.crypto….

    2022年4月10日
    89

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号