【发布时间】:2015-03-01 18:39:30
【问题描述】:
当我使用故事板添加自定义 UIView 时,何时计算 UIView 的正确帧大小?
我无法在 UIView 的 init(frame: CGRect) 或 init(coder aDecoder: NSCoder) 或 awakeFromNib() 中获得正确的帧大小。我在override func layoutSubviews() 中得到了正确的大小,但是这次视图没有添加到视图控制器的视图中。
编辑:
我想在 UIView 子类中执行此操作,因为我将CAGradientLayer 层(与我的视图大小相同)添加到我的自定义UIView。一定有比在UIViewControllers viewDidLayoutSubviews 方法中设置视图更好的方法。
有两个垂直约束(超级视图的尾随和前导空间)可以调整我的自定义视图的宽度。但是在上述方法中宽度是600,而不是屏幕宽度。
【问题讨论】:
-
I get the correct size in override func layoutSubviews() but this time the view is not added to the view controller's view.为什么? -
我不知道。问题是关于这个的:)它没有出现。