OGeek|极客世界-中国程序员成长平台

标题: ios - 如何根据所使用的 iPhone 使 UITextField 适本地调整其大小? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:39
标题: ios - 如何根据所使用的 iPhone 使 UITextField 适本地调整其大小?

我希望我的 UITextField 用完大部分屏幕。我尝试在文本字段上设置约束,但这不起作用。我正在使用 iPhone 5s 和 6 进行测试。

在 iPhone 5s 上获得合适的尺寸会在 iPhone 6 上的 UITextFields 的每一侧留下大空间;当我在 iPhone 6 上设置所需的尺寸时,UITextFields 对于 iPhone 5s 上的屏幕来说太大了。

我认为我在设置 ScrollView 等时使用的相同原则适用。这些 UITextField 在 ScrollView 中,我对使用不同设备的 ScrollView 没有任何问题。

我尝试过调整大小,但这会使文本字段太小。我会提供代码,但我已经在 Interface Builder 中完成了这一切。

enter image description here

enter image description here

这些字段在我的 scrollView 的 contentView 中。

我不介意 Objective-C 或 Swift 的答案。



Best Answer-推荐答案


问题在于 Auto Layout 会根据它的内容自动计算出你的 scrollView 的内容大小。如果你不告诉它你的 contentView 的宽度,它必须通过 scrollView 中项目的约束来解决这个问题。即使您的 textView 固定在 scrollView 的左右两侧,您也必须指定它们的宽度,以便 Auto Layout 可以计算出您的 scrollView 内容的宽度。要解决此问题,请将 contentView 添加到您的 scrollView,这将是 scrollView 中的单个顶级项目。所有其他项目将作为 contentView 的 subview 添加。

  1. 将 contentView 添加到您的 ScrollView 。将其左、上、右和下边缘固定到 ScrollView 。将其宽度限制为等于 scrollView 的宽度。为此,打开文档大纲 View ,控制从 ScrollView 包含的 View 拖动到 ScrollView ,然后从弹出窗口中选择“等宽”。将其高度限制为足以容纳您的所有内容。这将允许 scrollView 仅垂直滚动。

  2. 将你的 textView 的后沿和前沿约束到 contentView。它们的宽度会自动拉伸(stretch)以填充每个手机上的空间。

关于ios - 如何根据所使用的 iPhone 使 UITextField 适本地调整其大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832396/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4