当前位置: 首页 > wzjs >正文

佛山市公司网站制作嘉兴关键词优化报价

佛山市公司网站制作,嘉兴关键词优化报价,福州360手机端seo,外围网站做代理1.setNeedsLayout 作用: 标记视图的布局需要更新。它不会立即触发布局更新,而是在下一个布局周期中更新 调用时机: 当你改变了一些影响视图布局的属性(如frame、bounds等)后,需要调用此方法告诉系统该视图需要重新布局。 使用详情…

1.setNeedsLayout

作用:

标记视图的布局需要更新。它不会立即触发布局更新,而是在下一个布局周期中更新

调用时机:

当你改变了一些影响视图布局的属性(如frame、bounds等)后,需要调用此方法告诉系统该视图需要重新布局。

使用详情:

调用后,系统不会立即更新,会在下一个布局周期中调用`layoutSubviews`方法。它不会立即生效,而是等待下一个run loop。

2.layoutIfNeeded

作用:

立即触发视图的布局更新。如果视图被标记为需要布局,则立即调用`layoutSubviews`方法

调用时机:

当你需要立即更新视图的布局时调用,例如在动画块中改变约束后立即更新布局以捕获动画的起始和结束状态。

使用详情:

这个方法会强制视图立即进行布局。通常在动画中使用.动画中必须调用 layoutIfNeeded

// 改变约束constraint.constant = 100// 立即布局父视图view.layoutIfNeeded()UIView.animate(withDuration: 0.3) {// 再次改变约束constraint.constant = 200// 在动画块中再次调用,使动画生效view.layoutIfNeeded()}

3.layoutSubviews

作用:

系统调用的方法,用于重新布局子视图。你可以重写此方法来调整子视图的位置和大小禁止手动调用

调用时机:

1.系统在需要重新布局视图的子视图时自动调用
2.addSubview的时候。=>当添加子控件的时候,不管子控件有没有尺寸都会调用
3.当view的size发生改变的时候。=>当size改变的时候调用一次(size每次都不同,如果size相同就不会调用)
4.滑动UIScrollView的时候。
5.旋转Screen会触发父UIView上的layoutSubviews事件。

注意:当view的size的值为0的时候,addSubview也不会调用layoutSubviews。当要给这个view添加子控件的时候不管他的size有没有值都会调用===>初始化,当size不为0的时候调用一次,当size为0的时候不会调用(在任何方法里面都不会调用)

使用详情:

你不能直接调用这个方法。如果需要触发布局,使用`setNeedsLayout`或`layoutIfNeeded`。如果重写该方法时,务必调用`super.layoutSubviews()`

4.setNeedsUpdateConstraints

作用:

标记视图的约束需要更新。它不会立即更新约束,而是在下一个更新周期中更新。

调用时机:

当视图的约束需要改变时调用此方法,例如需要动态改变约束条件

使用详情:

调用后,系统会在下一个布局周期中调用`updateConstraints`方法。通常与`updateConstraintsIfNeeded`配合使用

5.updateConstraintsIfNeeded

作用:

立即更新视图的约束。如果视图被标记为需要更新约束,则立即调用`updateConstraints`方法

调用时机:

当你需要立即更新约束时调用,例如在布局之前确保约束是最新的

使用详情:

这个方法会强制视图立即更新约束。通常在需要立即获取最新布局信息时使用,比如在计算布局前.

6.updateConstraints

作用:

系统调用的方法,用于更新视图的约束。你可以重写此方法来动态改变约束.禁止手动调用

调用时机:

系统在需要更新约束时自动调用,例如当视图被标记为需要更新约束时(通过`setNeedsUpdateConstraints`)

使用详情:

你不能直接调用这个方法。如果需要触发约束更新,使用`setNeedsUpdateConstraints`或`updateConstraintsIfNeeded`。重写该方法时,务必调用`super.updateConstraints()`,并在方法内更新约束

使用原则

最佳实践 

修改约束后

myConstraint.constant = 100
myView.setNeedsLayout() // 标记布局更新
// 或立即更新:
myView.layoutIfNeeded()

动画中:必须调用 layoutIfNeeded

UIView.animate(withDuration: 0.3) {self.myConstraint.constant = 200self.view.layoutIfNeeded() // 关键!
}

避免在 layoutSubviews 中修改约束:可能导致布局循环

性能优化

批量修改后调用一次 setNeedsLayout

优先使用约束更新而非直接修改 frame

复杂布局使用 updateConstraints 集中管理约束

总结:

标记更新setNeedsLayout / setNeedsUpdateConstraints(异步)

强制立即更新layoutIfNeeded / updateConstraintsIfNeeded(同步)

系统回调layoutSubviews / updateConstraints(重写但不主动调用)

 

http://www.dtcms.com/wzjs/19503.html

相关文章:

  • 没有备案的网站 公司服务器 查到会怎么样东莞网络推广培训
  • 做国内网站阿里云怎么样百度开店怎么收费
  • php网站后台源码百度站长平台
  • 闵行网络推广公司搜索引擎优化seo的英文全称是
  • 网站建设应当注意百度新闻首页
  • 建站公司联系电话企业培训考试平台官网
  • 网站营销的重要价值文员短期电脑培训
  • 工装公司排名前十苏州企业网站关键词优化
  • 网站如何做传输网盘网站seo优化方案策划书
  • 医药类网站建设评价saascrm国内免费pdf
  • 网站开发小结官方百度下载安装
  • 英文版wordpressseo是干嘛的
  • 展览馆网站建设方案书近10天的时事新闻
  • 制作个人网站朝阳网络推广
  • 如何设计网站的主菜单电脑培训网上课程
  • 建设银行官方网站企业网银泉州全网推广
  • 彩票网站开发的风险商品关键词举例
  • 国内网站建设公司如何推广一个网站
  • 网站怎么做参考文献站长工具下载app
  • 网站含义千锋教育培训多少钱
  • 基于ASP与Access数据库的网站开发seo网站营销推广公司
  • 中纪委网站作风建设在路上女教师网课入侵录屏
  • 无锡自助做网站便宜的seo官网优化
  • o2o平台有哪些网站网络公司起名
  • 国内做网上旅游业务的网站广告联盟官网入口
  • 公司做网站费用怎么记账沈阳seo博客
  • 重庆网站建设近重庆零臻科技杭州网站优化多少钱
  • 建设网站需要的编程百度收录入口
  • 网站的建设与维护就业方向苏州疫情最新通知
  • 电子商务网站建站正在播网球比赛直播