swift 中设备上的视图大小与情节提要中的视图大小不同

Size of view on device not the same as on storyboard in swift

我有一个占据整个视图宽度并在故事板上定义的子视图在运行时具有不同的大小。屏幕上的大小与在 viewDidLoad() 中的视图上调用 myView.frame.size.width 时的大小无关。我怎样才能得到这个尺寸?

我认为当方法viewDidLoad()被调用时,视图被加载但没有布局。也许你应该在 viewWillAppear()

中调用 myView.frame.size.width

viewDidLoad() 不会对视图进行布局,它们只会被加载,如果您打印出任何子视图的 superview,您将得到 nil。在 viewDidLayoutSubviews() 中,您的视图在 AutoLayout 之后以正确的大小布置子视图。