gpt4 book ai didi

ios - Swift - 在 vi​​ewWillTransition() 期间未调用 TextView layoutSubviews()

转载 作者:行者123 更新时间:2023-12-01 16:20:20 26 4
gpt4 key购买 nike

有谁知道为什么在将设备旋转到纵向模式时不调用 UITextView.layoutSubviews() ?

当旋转到横向模式时,这些被称为:

  • UIViewController.viewWillTransition
  • UIViewController.viewDidLayoutSubviews
  • UITextView.layoutSubviews
  • UILabel.layoutSubviews

  • 但是当旋转回纵向时,会调用 UILabel.layoutSubviews(),而不是 UITextView.layoutSubviews。这是一个空项目,除了这些方法中的跟踪之外没有其他代码。

    最佳答案

    layoutSubviews通常在 setNeedsLayout() 时调用在之前的运行循环调用中已经调用了。

    如果布局系统认为不需要调用,就不会调用。

    理想情况下,您不应覆盖此功能。您应该调用 setNeedsLayout()制作后superview改变,让布局系统调用这个函数的默认实现。此外,您应该在自动布局中定义您的 subview 布局需求,以便能够从那里获得正确的值。

    如果您想立即更新,请调用 layoutIfNeeded() .

    这是因为这是 UIKit 框架任意调用的方法之一,它可能不适合您的布局需求。

    关于ios - Swift - 在 vi​​ewWillTransition() 期间未调用 TextView layoutSubviews(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61729092/

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