【发布时间】:2018-03-25 22:59:48
【问题描述】:
我在 ovalView 内有一个 imageView,并受到自动布局的限制。
在viewDidLayoutSubviews() 内部,我正在创建一个UILabel
let label = UILabel(frame: imageView.frame)
imageView.superview?.addSubview(label)
label 的边框与 imageView 稍微偏离中心。
但是,如果我将上面的代码移动到 viewDidAppear() 中,标签将完全以 imageView 为中心,但用户会看到不希望出现的变化。
如何将我的代码保存在 viewDidLayoutSubviews() 中并使其正常工作?
【问题讨论】:
-
你知道设置框架会改变原点,成为视图的左上角锚点吗?也就是说,您必须减去标签宽度的一半才能使其在 x 轴上居中。
-
那么为什么它在 ViewDidAppear 中起作用?
标签: swift viewdidappear viewdidlayoutsubviews