什么时候调用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的调用机制。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • html做一个登录注册页面_html5用户注册表单

    html做一个登录注册页面_html5用户注册表单一个简易登录表单的实现,包括用户名、密码、验证码;验证码使用canvas绘制,随机生成。

  • java文件上传到指定的路径_java sftp上传文件

    java文件上传到指定的路径_java sftp上传文件在java中获得文件的路径在我们做上传文件操作时是不可避免的。web上运行1:this.getClass().getClassLoader().getResource(“/”).getPath();this.getClass().getClassLoader().getResource(“”).getPath();得到的是ClassPath的绝对URI路径。如:/D:/jboss-4.2….

  • Typora教程(附安装包)「建议收藏」

    Typora教程(附安装包)「建议收藏」Typora安装包:链接:https://pan.baidu.com/s/14fTQQmPQmf08pi833RT6Cg提取码:j712复制这段内容后打开百度网盘手机App,操作更方便哦

  • 自定义标签(TagSupport )

    自定义标签(TagSupport )定义最简单的标签自定义标签采用Default Adapter模式(缺省适配模式)Java代码配置文件Xml代码JSP页面Html代码TagSupport的流程图SKIP_BO

  • IntelliJ IDEA Community Edition 社区版插件汇总「建议收藏」

    IntelliJ IDEA Community Edition 社区版插件汇总「建议收藏」一、前言今年Idea对盗版软件打击力度加大,朋友们会发现,旗舰版自己激活使用,过几天就会失效,需要重新激活,有的小伙伴就会选择去淘宝花钱买个教育邮箱注册,这个方法我使用过,过了两三个月就不能用了,着实让人头疼。如何解决呢?我想到了Idea社区版本,下载一个使用,将我的Springboot项目导入,启动下试试,不出所料,报错了。好啦!步入正题。社区版Idea相比旗舰版少了很多功能,包括Java开发最重要的Web开发能力!Spring项目没有Tomcat插件,不能在Idea启动。SpringBoot

  • qq群泄露数据库_QQ群聊天记录全部人都可以看到吗

    qq群泄露数据库_QQ群聊天记录全部人都可以看到吗目录:基本介绍漏洞截图迅雷下载截图百度云下载截图       这年头,用户资料都可以论斤卖了,无论是快递单上的用户信息,还是酒店的开房记录,还是网站的登陆密码,只要黑客想要,都能手到擒来。这不,根据乌云的报告,18号下午QQ群的用户资料被大量泄漏了!据乌云平台上漏洞提交者“路人甲@乌云”称,该漏洞可能是腾讯早期的漏洞被利用抓取,相关数据可以

发表回复

您的电子邮箱地址不会被公开。

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