【发布时间】:2014-12-27 02:30:06
【问题描述】:
我正在学习 AutoLayout 的视觉格式语言 (VFL) 并尝试构建一个包含两个元素的视图:
- UITextView 距离顶部大约 20 点,应该填满大部分 iPhone 上可用的垂直空间
- 需要位于 UITextView 下方的 UIButton,没有任何 两者之间的填充。按钮底部应为 20 点 从父视图的底部。
我认为以下内容可以解决问题。
let verticalBindings = ["textView": self.textView, "button": self.button]
let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat(
"V:|-20-[textView][button]-20-|",
options: NSLayoutFormatOptions.AlignAllLeft,
metrics:nil,
views:verticalBindings)
self.view.addConstraints(verticalConstraints)
但是,当我运行时,UITextView 是不可见的,并且我选择的元素布局方式中的某些东西会遮盖它。您如何布置元素以使它们垂直堆叠在一起?
我也不确定如何设置 textView 的大小,以便在从顶部和底部的填充以及按钮的高度中减去后,它应该是任何可用的垂直空间。
我更喜欢使用 VFL 来描述这种布局。
【问题讨论】:
标签: swift autolayout