故事板中的 UIView 边界在代码中没有改变

Posted

技术标签:

【中文标题】故事板中的 UIView 边界在代码中没有改变【英文标题】:UIView bounds from storyboard are not changing in code 【发布时间】:2016-11-08 06:32:15 【问题描述】:

我有一个 UIView,它在情节提要中有一个 width of 250.0 和一个 height of 135.0。由于自动布局,使用不同设备时值应该改变。但每当我尝试print(myUIView.bounds) 时,我总是得到(0.0, 0.0, 250.0, 135.0)

有没有办法得到bounds的真正价值?

【问题讨论】:

尝试使用 print(myUIView.frame)。 【参考方案1】:

这取决于您在哪里打印它们?在viewDidLoad 中,它们还不会针对布局进行调整。在layoutSubviews中,调用super后,应该调整框架。

【讨论】:

你也可以在视图控制器中使用viewDidLayoutSubviews()【参考方案2】:

我遇到了同样的问题。你需要这样做:

class ViewController: UIViewController 

override func viewDidLoad() 
    super.viewDidLoad() 


override func viewDidLayoutSubviews() 

// put in your code that needs adjusted layout here




【讨论】:

以上是关于故事板中的 UIView 边界在代码中没有改变的主要内容,如果未能解决你的问题,请参考以下文章

故事板中的自定义 UIView

uiview故事板中的viewcontroller多个

如何使故事板中的 UiView 尊重百分比[重复]

故事板中的重叠视图

如何处理 Xcode 故事板中的错位视图警告?

使用故事板中的自动布局使 UIButtons 居中