gpt4 book ai didi

ios - 为什么需要覆盖 layoutSubviews

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:49:07 27 4
gpt4 key购买 nike

问题“When does layoutSubviews get called?”中列出了几种情况:

  1. 调整了父 View 的大小
  2. 设备旋转
  3. 还有吗?

如果不需要处理,对于UITableView,我们可以通过创建一个自定义的UIView来为section header创建一个header view。最简单的方法是通过initWithFrame: 创建UIView,然后就不需要重新布局了。

因此,在我看来,我们不需要重写layoutSubviews等,但也有一些意见坚持要重写。

不使用它的原因:

  1. KISS(保持简单和愚蠢)
  2. 不需要重新布局
  3. 滚动时重新布局有成本

我的问题是为这个案例获得更多建议。谢谢。

最佳答案

您通常不需要覆盖 layoutSubviews。基本上只有两个原因:

  • 您的自定义 UIView 子类包含您想使用手动布局重新排列的 subview
  • 您的自定义 UIView 子类需要知道它的大小何时因某些其他原因而改变,例如缩小字体大小或进行一些手动绘图

一般来说,你不需要覆盖这个方法。大多数布局是通过 View Controller 在适当的时间设置 View 的 frame 或使用自动布局完成的。

关于ios - 为什么需要覆盖 layoutSubviews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28893610/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com