故事板中的 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 边界在代码中没有改变的主要内容,如果未能解决你的问题,请参考以下文章