【发布时间】:2017-06-15 11:44:39
【问题描述】:
我正在设计一个像表单一样的屏幕,使用 AutoLayout 包含很少的UITextFields。我只想在UITextFields 的底部设置边框。我使用CALayer 设置了边框。但是UITextField 在方法viewDidAppear 中占据了它的高度(在应用自动布局之后),因此在viewDidAppear 中为UITextField 添加边框使其看起来好像在闪烁。那么有没有其他方法可以在底部使用 AutoLayout 将边框设置为 UITextFeild。
【问题讨论】:
-
您是否尝试过在 UITextField 底部使用简单的 UIView ?我的意思是把高度的 UIView 说成 1px,然后对其应用约束,以便它始终附加到 UITextField 的底部。
-
谢谢,我们可以使用 UITextFeild 底部的 UIView 作为边框,但我必须在 textFieldDidBeginEditing 和 textFieldDidEndEditing 之间切换边框颜色,因此我使用的是 CALayer。
-
你不能用这些方法改变 UIView 的颜色吗???
-
是的,它可以使用 UIView,我们可以改变它的颜色,它只会增加 Swift 文件中 IBOutlets 的数量。
-
如果您不想增加网点数量,请以编程方式应用 CALayer。无论如何,您必须获得所需的输出。现在这取决于您要应用哪种策略。
标签: ios iphone ipad autolayout