ios故事板将视图放在superview中间的右侧
Posted
技术标签:
【中文标题】ios故事板将视图放在superview中间的右侧【英文标题】:ios storyboard place a view to right of the middle of superview 【发布时间】:2015-04-23 07:58:23 【问题描述】:搜索了一下,但找不到解决方案。 假设我有一个标签和一个文本字段。我希望文本字段在其超级视图中间的右侧对齐 10 像素,宽度为超级视图的一半 - 20 像素。即两侧有 10 px 的间隙。 我怎样才能在情节提要中实现这一点?有可能还是我为此编写了代码? 同样,标签是超级视图的一半 - 20 px 宽度。左对齐。 10 px 左间隙。
【问题讨论】:
我会做什么(不确定这是否是最好的方法),我会添加一个宽度为 1px 的视图,水平居中于超级视图,然后我将两个视图相对于这个视图。 【参考方案1】: 所以:现在我希望文本字段在其父视图中间的右侧对齐 10 像素 可以这样做: 向右偏移的水平居中约束。
宽度为 superview 的一半 - 20 像素。即两侧有 10 px 的间隙。
要实现这一点,您应该通过按住命令键并左键单击视图和文本字段来选择父视图和子视图(在您的情况下为文本字段)。 见下图:
选中这两个后,单击 IB 编辑器区域底部的 Pin 按钮,然后如下图所示:
然后,转到您的父视图或文本字段的检查器区域,并使其看起来像(图像是从文本字段的检查器捕获的)。请注意:您应该选择等宽约束并手动键入值。当您将乘数从 1 更改为 0.5 时,约束将变为“比例宽度”类型,这就是您所渴望的。
设置右边距和水平间距应该不是问题。享受编码吧,伙计:)【讨论】:
谢谢。赞成。我第一次尝试就这样做了。您的答案非常适合屏幕截图。但是超级视图的边虫给了我一些麻烦。 @Jakub 的回答更简单,并且完成了我的工作。 :) 不管怎样,结果很好,谢谢你的感激 :) 我只是不知道你希望文本字段和标签具有相同的宽度,因为通常文本字段的标题比文本字段。祝你好运:) 你是对的。我对标签的大小没有限制。但现在等宽对我来说很好。【参考方案2】:如果我理解正确,您希望这两个视图具有相同的宽度吗?
|-10-[UILabel]-20-[UITextField]-10-|
那么解决这个问题的一种方法是为
创建约束UILabel
的领先边距
UILabel
和UITextField
之间的水平间距
UITextField
的尾随边距
UILabel
和UITextField
的宽度相同
【讨论】:
【参考方案3】:如果我猜对了,这在故事板中是完全可能的。设置以下约束:
-
用常数 10 固定通向其父视图前导的标签
用常数 20 将标签固定在文本字段的开头
用常量 10 将文本字段固定到其父视图的尾部
为标签和文本字段创建等宽约束
希望我没听错:)
【讨论】:
以上是关于ios故事板将视图放在superview中间的右侧的主要内容,如果未能解决你的问题,请参考以下文章