【发布时间】:2016-06-01 19:02:15
【问题描述】:
我有一个带有标签的笔尖,它使用自动布局垂直和水平居中。我声明了UIView 的子类并在其中加载了 nib 文件。
然后我将UIView 添加到我的主视图控制器并为其分配新的子类。问题是 nib 文件的标签没有以视图为中心,它不遵循 AutoLayout 约束。
Download test project.为什么会这样?
【问题讨论】:
-
标签看起来像是以蓝色视图为中心。你还需要什么 ?你想让它以 self.view 为中心吗?
-
@TejaNandamuri 问题是蓝色视图的宽度恰好是超级视图大小的一半,因此标签没有居中并且似乎向右偏移。
-
加载xib后,必须手动修改其frame,使其等于super view frame一半的蓝色view frame!
-
当您以编程方式加载 xib 时,它采用故事板中设计的 xib 的原始帧大小。在加载 xib 后,为您的自定义视图创建一个插座属性并更改其框架!
-
@TejaNandamuri 谢谢。我正在尝试找到一种方法来调用自定义视图以更新其框架。也许
layoutIfNeeded()?