【发布时间】:2023-03-29 06:10:01
【问题描述】:
我有一个带有 AutoLayout 的视图,它适用于不同的屏幕尺寸。屏幕上有一个元素,但它会根据用户操作四处移动。每当我向下导航到另一个屏幕然后返回此视图时,此元素都会重置为其原始位置。
我明白为什么会发生这种情况,但我该如何预防呢?我确实希望它最初设置正确,但不是在第一次之后。
【问题讨论】:
-
您目前如何移动漂浮物?你是直接设置它的框架,还是修改它的约束?
-
这不应该发生,没有理由发生。您可以发布您的代码以返回此视图吗?另外,如果您正在以任何方式设置此元素的位置,请检查 viewdidappear 或 viewwillappear 下。
-
@robmayoff 我通过设置框架来移动使用。也许我应该调整约束?
-
@LuisOscar 你确定是 Luis 吗?这没有意义,但它发生了,我没有覆盖 viewDidAppear 或 viewWillAppear。
-
"也许我应该调整约束" 是的,你应该 -- 如果你使用约束,你的代码中不应该有任何 setFrame: 调用。所以要么打开自动布局,要么调整约束。
标签: ios objective-c autolayout