设置 UITextfield 的最大宽度

问题描述 投票:0回答:1

我有一个 Uitextfield,当设备宽度小于 580 时,我希望前导和尾随距离安全区域或超级视图为 23,使其与设备屏幕一样宽,但距离两侧均为 23。但在宽度大于 580 的设备上,我不希望 uitextfield 宽度变得比 580 更宽。我希望最大宽度为 580,并将其居中。

我尝试将前导和尾随设置为23,并设置宽度<= 580, but it doesn't work on iPads which have a device width greater than 580, instead, it grows very wide ignoring width<= 580 constraint. How can I achieve this in interface builder

ios xcode autolayout interface-builder
1个回答
0
投票

您需要在文本字段上设置 4 个水平约束才能满足您的要求:

  1. 设置约束以使文本字段在其父视图中居中。
  2. 将文本字段的前导约束设置为 23,但将关系从 = 更改为 >=。
  3. 将文本字段的尾随约束设置为 23,但将关系从 = 更改为 >=。
  4. 将文本字段的宽度设置为 580,但将优先级从 1000 降低到 750。

在窄屏幕上,前导和尾随约束优先于宽度。这可确保边距为 23,并且宽度填充剩余的内容。

在较宽的屏幕上,文本字段宽度不大于 580,边距的 >= 设置允许边距大于 23。中心约束可确保文本字段保持居中。

© www.soinside.com 2019 - 2024. All rights reserved.