提问人:Michael Okoli 提问时间:9/2/2023 更新时间:9/5/2023 访问量:36
在 UITextfield 上设置 maxwidth
Set maxwidth on UITextfield
问:
我有一个 Uitextfield,当设备宽度小于 580 时,我希望前导和尾随距离安全区域或上视图 23 的宽度,使其与设备屏幕一样宽,但从两边增长 23。但是在宽度大于 580 的设备上,我不希望 uitextfield 宽度增长到 580 以上。我希望最大宽度为 580,并将其居中。
我尝试将前导和尾随设置为 23,并将宽度设置为 <= 580,但它不适用于设备宽度大于 580 的 iPad,相反,它会变得非常宽,忽略 width<= 580 约束。如何在界面构建器中实现这一点
答:
0赞
HangarRash
9/3/2023
#1
您需要对文本字段进行 4 个水平约束才能满足您的要求:
- 设置约束以使文本字段在其父视图中居中。
- 将文本字段的前导约束设置为 23,但将关系从 = 更改为 >=。
- 将文本字段的尾随约束设置为 23,但将关系从 = 更改为 >=。
- 将文本字段的宽度设置为 580,但将优先级从 1000 降低到 750。
在窄屏幕上,前导和尾随约束优先于宽度。这确保了边距为 23,宽度填充了剩余的内容。
在较宽的屏幕上,文本字段宽度不超过 580,边距的 >= 设置允许边距大于 23。居中约束可确保文本字段保持居中。
0赞
gothham
9/5/2023
#2
如果您使用的是界面构建器(Storyboard),请使用 size 类来满足您的需求。
如果设备宽度为 wC & hR 和 wC & hC,则将 textField(前导和尾随)固定到边缘,否则将 wR 和 wR & hR 的宽度设置为 528。
评论