自动布局 - 在模拟器中运行时文本字段垂直拉伸

Posted

技术标签:

【中文标题】自动布局 - 在模拟器中运行时文本字段垂直拉伸【英文标题】:Autolayout - text field is vertically stretching when run in simulator 【发布时间】:2016-09-18 15:43:10 【问题描述】:

当我在 iPhone 6s 模拟器中运行我的 Swift 应用程序时,文本字段似乎被垂直拉伸了。故事板如下所示:

在模拟器中运行的应用可以在这里看到:

我不知道如何防止这种情况。我希望底部文本字段边框更接近占位符文本。手动更改情节提要中文本字段的高度不起作用。我从文本字段的每一侧到父视图的相应侧都有约束。情节提要设置为 iPhone 6s,模拟器设置为 iPhone 6s,当然情节提要内容在模拟器中看起来应该几乎相同。有人可以提供任何帮助吗?

【问题讨论】:

【参考方案1】:

删除文本字段的底部约束!当视图变大时,它会导致文本字段增加高度。

要随着设备的大小增加文本字段的大小,您应该再添加一个约束:Aspect Ratio

【讨论】:

这只是初步解决方案,如果您需要进一步的帮助,请告诉我。 谢谢!我应该意识到这一点。我对 ios 开发人员很陌生,干杯。我现在的问题是底部边框非常接近占位符文本。如何在文本和文本字段边框之间创建更大的空间? 下边框是怎么设置的? let width = CGFloat(1.0) border.frame = CGRect(x: 0, y: textField.frame.size.height - width, width: textField.frame.size.width, height: textField.frame.size.height) 我在答案中添加了更多信息。【参考方案2】:

约束一定有问题。首先将您的 textField 约束设置为垂直居中、水平居中或删除约束上限或下限之一。

【讨论】:

以上是关于自动布局 - 在模拟器中运行时文本字段垂直拉伸的主要内容,如果未能解决你的问题,请参考以下文章

设置垂直空间iOS时自动布局图像拉伸[重复]

UIButton 被自动布局拉伸

使用自动布局减少文本字段周围的空间

垂直自动布局子视图

以编程方式在 xib 上使用自动布局创建的两个文本字段之间添加 uiview

仅在自动布局中具有固定宽度的垂直滚动视图