我有一个UITextField使用Xcode 6s自动布局界面,我设置宽度为400点。这在大屏幕设备上看起来很好,但在iPhone 5s上,这些框从包含视图中消失。解决这个问题的正确方法是什么?
有没有办法设置一个约束,如果屏幕大于此值,将使UITextFields宽度为400点,或者只是填充容器视图,而不是在视图外溢出或者我应该使用大小类将UITextField设置为与紧凑视图上的父视图具有相等的宽度。
答案 0 :(得分:2)
不是在UITextField上设置宽度约束,而是在其左侧和右侧添加水平空间约束。这样,UITextField将自动调整屏幕大小。
答案 1 :(得分:0)
与Kris所说的一样,设置水平空间约束是开始解决这个问题的好方法。
在回复您关于不希望持续“边距”的评论时,您可以执行以下操作:
IBOutlet
类型NSLayoutConstraint
(.h或.m;无所谓)。IBOutlet
连接到相应的NSLayoutConstraint
。viewDidLoad
/ viewWillAppear:
)中,将约束设置为所需的值。 听起来你主要是想阻止这个字段跨越iPad上的全屏,所以你可以这样做(假设NSLayoutConstraint
被命名为“textFieldLeft”,而{textFieldRight被命名为{{{ 1}}命名为“textField”):
UITextField