如果是纯代码添加约束的话,添加完后,执行setNeedsLayout和layoutIfNeeded,之后,就能获得子控件的真实frame了,
setNeedsLayout:标记一个view为需要更新约束。
layoutIfNeeded:如果有被标记的veiw,执行layoutSubviews,
init?(coder aDecoder: NSCoder):xib初始化控件时调用,在该方法中控件为nil,可以在这个方法里代码添加控件
awakeFromNib() :xib子控件初始化完成后调用,但是frame是xib中的frame,不是真实frame
layoutSubviews() :这个方法里获得的frame是真实的frame
网友评论