2015-11-05 32 views
0

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

+0

所有位置的约束是否正确? –

+0

是的。如果约束设置正确,它固定在0间距 –

+0

的所有边上,这真的不应该发生。你能否提供显示你的约束的截图? –

回答

3

viewDidLoad()不铺陈的意见,他们只得到加载,如果你打印出任何子视图的superview你会得到nil。在viewDidLayoutSubviews()中,您的视图在AutoLayout之后列出正确大小的子视图。

1

我认为当方法viewDidLoad()被调用时,视图被加载但没有布局。也许你应该叫myView.frame.size.widthviewWillAppear()

+1

甚至更​​好''viewDidLayoutSubviews()'... –

+0

确切地。但是根据我的经验,'viewDidLayoutSubviews()'被多次调用,'viewWillAppear()'只在视图即将出现时被调用。这两个对我来说都是有效的:) – ajpallares

+0

是的,是的。但因为它只是打印出一些不应该成为问题的东西...... :) –

相关问题