如何使用带有 Storyboard 的 Autolayout 获取 UIView 子类的框架?

How can I get the frame of a UIView subclass using Autolayout with Storyboard?

当我使用 UIView 的子类并在有一些限制的情况下将其放在故事板上时,我会在 awakeFromNib()didMoveToWindow() 中检查其框架。结果不正确,因为尚未应用约束。

是否有任何回调通知我已应用约束?所以在那之后我可以用正确的框架做某事。

调用awakeFromNibviewDidLoaddidMoveToWindow时,布局尚未完成。您必须使用 viewDidLayoutSubviews 个 viewController。此方法将在应用约束并完成布局后调用。

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
}