如何在 iOS 9 中获取堆叠的 UITextFields
How to get stacked UITextFields in iOS 9
在 iTunes Connect 登录屏幕上,用户名和密码标签相互堆叠,顶部弯曲,中间平坦(下图)。 是否可以在 Xcode 7.2 Storyboard 中实现此功能? 或者这只是 Apple 可以做的复杂事情?
我已经为我构建的应用实现了一个非常相似的 UI。我想到的解决方案是组合多个元素来实现所需的界面。我在 Storyboard 中完成了这一切,并提供了一些免费代码,但当然也可以全部在代码中完成。
我使用固定宽度和高度的 UIView
作为水平居中的 "container" 框。然后,我将电子邮件 (Apple ID) 和密码 UILabel
添加到此容器视图,将它们在左侧对齐,并将它们堆叠起来以填充容器的高度。我在两个标签之间添加了分隔线 UIView
,高度为 1pt,将其前导和尾随其容器视图对齐。然后,添加两个 UITextField
,约束它们使其与相关标签的顶部和底部对齐,前导设置为标签的尾部,尾部与容器视图的尾部对齐。在合适的地方添加任何填充。
唯一必须以编程方式完成的事情是将边框应用到容器视图并使边缘变圆:
self.loginContainerView.layer.borderColor = [UIColor greenColor].CGColor;
self.loginContainerView.layer.borderWidth = 1;
self.loginContainerView.layer.cornerRadius = 15;
还不错!如果您使用 UIStackView
.
,也许这会更容易
在 iTunes Connect 登录屏幕上,用户名和密码标签相互堆叠,顶部弯曲,中间平坦(下图)。 是否可以在 Xcode 7.2 Storyboard 中实现此功能? 或者这只是 Apple 可以做的复杂事情?
我已经为我构建的应用实现了一个非常相似的 UI。我想到的解决方案是组合多个元素来实现所需的界面。我在 Storyboard 中完成了这一切,并提供了一些免费代码,但当然也可以全部在代码中完成。
我使用固定宽度和高度的 UIView
作为水平居中的 "container" 框。然后,我将电子邮件 (Apple ID) 和密码 UILabel
添加到此容器视图,将它们在左侧对齐,并将它们堆叠起来以填充容器的高度。我在两个标签之间添加了分隔线 UIView
,高度为 1pt,将其前导和尾随其容器视图对齐。然后,添加两个 UITextField
,约束它们使其与相关标签的顶部和底部对齐,前导设置为标签的尾部,尾部与容器视图的尾部对齐。在合适的地方添加任何填充。
唯一必须以编程方式完成的事情是将边框应用到容器视图并使边缘变圆:
self.loginContainerView.layer.borderColor = [UIColor greenColor].CGColor;
self.loginContainerView.layer.borderWidth = 1;
self.loginContainerView.layer.cornerRadius = 15;
还不错!如果您使用 UIStackView
.