我正在尝试为iOS7中的UIView添加约束,以便将视图的底部或顶部与其包含视图的中心对齐。
示例:
LabelViewContainer包含2个标签:label1和label2。
2个标签应与LabelViewContainer的中心对齐:label1的底部应高于中心3个像素,label2的顶部应低于中心5个像素。
我在xcode中看到的限制只允许我将标签的中心对齐到容器的中心,而我实际上希望标签的底部或顶部位于容器中心的上方或下方。
到目前为止,我发现的唯一解决方案是添加另一个以容器为中心的隐藏视图,其大小为0.然后对具有前导/尾随空格的标签进行约束。 /> 我希望有另一种解决方案不需要虚假视图的膨胀。
编辑:
标签视图的大小未知。
答案 0 :(得分:1)
UILabel
s,高度为30,宽度为280,开始x = 20 现在......让我们看看如何解决你的问题。
将UILabel
放在您想要的任何地方
同时选择UILabel
并设置这些常见约束
选择最顶层UILabel
由于你想要它比中心高3px,请注意它的高度是30
如果它位于中心,UILabel
的中心将位于view
的中心,所以...如果你把它抬高了一半,那么它就会出现在18px
的中心位置。高度(为15px )然后它的下边缘将接触中心线。
现在,将它提高3px,你可以比中心线高3px。
因此,您需要18
高于中心线
这意味着在将其与视图中心对齐时,需要指定UILabel
的常量
你可以这样做:
选择最顶层UILabel
更新帧以符合此约束。
选择其他UILabel
由于你想要它比中心低5px,请注意它的高度是30
如果它位于中心,view
的中心将位于20px
的中心,所以......如果你把它降低了一半,那么它就会在-20
的中心。高度(为15px )然后它的上边缘将接触中心线。
现在,将它降低5px并使其低于中心线5px。
因此,您需要UILabel
低于中心线
这意味着在将其与视图中心对齐时,需要指定{{1}}的常量
你可以这样做:
选择其他{{1}}
更新框架以符合此约束。