什么时候调用layoutSubviews

什么时候调用layoutSubviews如果你想强制更新布局,不要直接调用此方法。你可以调用setNeedsLayout方法;如果你想立即数显你的views,你需要调用layoutIfNeeded方法。 layoutSubviews作用 layoutSubviews是对subviews重新布局。比如,我们想更新子视图的位置的时候,可以通过调用layoutSubviews方法,既可以实现对子视图重新布局。 layo

大家好,又见面了,我是你们的朋友全栈君。

如果你想强制更新布局,不要直接调用此方法。你可以调用setNeedsLayout方法;如果你想立即数显你的views,你需要调用layoutIfNeeded方法。 

layoutSubviews作用 

layoutSubviews是对subviews重新布局。比如,我们想更新子视图的位置的时候,可以通过调用layoutSubviews方法,既可以实现对子视图重新布局。 

layoutSubviews默认是不做任何事情的,用到的时候,需要在自雷进行重写。 

layoutSubviews以下情况会被调用 

苹果官方文档已经强调,不能直接调用layoutSubviews对子视图进行重新布局。那么,layoutSubviews什么情况下会被调用呢?通过百度搜索,发现以下几种情况layoutSubviews会被调用。 

  1. 直接调用setLayoutSubviews。(这个在上面苹果官方文档里有说明) 
  2. addSubview的时候。 
  3. 当view的frame发生改变的时候。 
  4. 滑动UIScrollView的时候。 
  5. 旋转Screen会触发父UIView上的layoutSubviews事件。 
  6. 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。 

我简单测试了一下,上面基本都会被调用。 注意: 

当view的fram的值为0的时候,`addSubview`也不会调用`layoutSubviews`的。

layoutSubviews方法在对自雷视图进行布局的时候非常方便。可以自己动手,深入理解layoutSubviews的调用机制。

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

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

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


相关推荐

  • java中定义json格式数据类型_java解析字符串

    java中定义json格式数据类型_java解析字符串在开过发过程中,遇到将一个实体类转换成json对象,转义后得到的字符串中,存在大小写转义错误。在测试中发现:1、字段名称都大写(AAA),不会有问题。2、字段名称都小写(aaa),不会有问题。3、字段名称首字母大写,其余大小写都存在(AaBb),得到的后的是:aaBb;因为基于分离开发,要严格按照规定的协议去做,所以这样是不被允许的。解决方法:引入jar包:jackson-databind-2.8…

    2022年9月21日
    0
  • nlp情感分析_python编程:从入门到实践

    nlp情感分析_python编程:从入门到实践NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)输出结果1、测试对象data1=’今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加幸福!’data2=’今天上海天气真差,非常讨厌下雨,把我冻坏了,心情太不高兴了,不高兴,我真的很生气!’data3=’美国华裔科学家,祖籍江苏扬州市高邮县,…

    2022年9月21日
    0
  • DNS工作原理

    DNS工作原理

    2021年11月12日
    52
  • Linux 防火墙设置指定 IP 访问

    Linux 防火墙设置指定 IP 访问1 修改防火墙配置 vi nbsp etc sysconfig iptables nbsp nbsp 添加以下内容 AINPUT ieth0 s192 168 0 1 ptcp jACCEPT nbsp AINPUT ieth0 s192 168 0 2 ptcp jACCEPT AINPUT ieth0 s192 168 0 3 ptcp jACCEPT AINPUT

    2025年7月15日
    0
  • ssm框架整合步骤_bootstrap框架搭建

    ssm框架整合步骤_bootstrap框架搭建描述普通情况下,控制台打印出的sql是带?的,开发人员在自己调试的过程中遇到bug是再常见不过了,如果想看一下程序打出来的sql,发现参数的位置都是?,是不是很不爽,若想在数据库中执行sql,还需要手动修改sql的参数,真是麻烦,使用p6spy可以将sql格式化然后打出,打出的sql不再是带有?的,而是可以直接拷贝到数据库执行的。整合步骤如下:添加jar包依赖在service层…

    2022年10月5日
    0
  • Article及ArticleList模板

    Article及ArticleList模板HTML5滑动条:tuicoolhttp://www.tuicool.com/articles/U36rMjZoschinahttp://www.oschina.net/p/spyder百度经验htt

    2022年7月3日
    20

发表回复

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

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