首页 > 解决方案 > swift 4 - 为什么 UIButton 在被告知时不移动?

问题描述

为什么我打电话时 UIButton 不会移动:

myButton.frame.origin.x = 100

我从 viewDidLayoutSubviews() 函数中调用它,调用该函数是因为在地图上创建了注释,尽管按钮位于与地图并不真正相关的视图中。

标签: iosswift4

解决方案


viewDidLayoutSubviews() 调用来通知视图控制器它的视图刚刚布置了它的子视图。

所以这是我们在布局子视图之后,但在它在屏幕上可见之前对视图进行更改的机会。

任何取决于边界的更改都必须完成,我们可以在这里而不是在 ViewDidLoad 或 ViewWillAppear 中进行。

究竟什么是 viewDidLayoutSubviews?


推荐阅读