gpt4 book ai didi

cocoa-touch - "refresh"设备旋转 View

转载 作者:行者123 更新时间:2023-12-04 03:02:30 25 4
gpt4 key购买 nike

我在 viewDidLoad 中设置了我的 View .相对于 self.view 定义了所有不同的框架等 subview 。 .因此,大小无关紧要self.view是 subview 将始终缩小或扩展以适应(原样)。

所以当我旋转我的设备时,我希望 View 旋转(使用 shouldAutoRotateToInterfaceOrientation:... 很容易)但 subview 保持相同的形状。

调用 [self viewDidLoad];使所有元素都适合,但在以前的布局之上放置了一个新层(这很明显......但我只是想解释我的意思)。

有没有办法刷新 subview 的框架或其他东西?老实说,我不知道其他人在做什么。我是否必须将所有 View 作为属性放入 .h 文件中,并在 didRotate... 上手动执行所有操作? ?

最佳答案

您有三个选择:

  • 如果自动调整大小蒙版足以定位您的 View ,请在创建它们时为每个 subview 分配正确的自动调整大小蒙版。
  • 如果自动调整大小的掩码不够用,覆盖 willAnimateRotationToInterfaceOrientation:duration:并在该方法中重新定位您的 subview 。我将创建一个自定义方法,该方法将方向作为参数并负责布置所有 subview 。然后你可以从 willAnimateRotationToInterfaceOrientation:duration: 调用这个方法来自 viewDidLoad .
  • 您还可以创建自定义 UIView子类并使您的 View Controller 的 View 成为此类的实例。然后覆盖 layoutSubviews根据 View 的大小定位所有 subview 。这种方法意味着您的自定义 View 管理其 subview 而不是 View Controller 。
  • 关于cocoa-touch - "refresh"设备旋转 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3777958/

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