gpt4 book ai didi

ios - 自动布局中 UITextField 的灵活宽度

转载 作者:可可西里 更新时间:2023-11-01 05:44:01 26 4
gpt4 key购买 nike

我最近在我客户的应用程序中启用了自动布局,并且正在尝试更新该程序以利用 iPhone 6 和 6 Plus 更大的屏幕尺寸。但是,我无法相应地调整 View 宽度。

目前,我只关心使前两个 View 正确。这是它的样子:

UILabel UITextField

UILabel(称为 Name)具有以下约束:
- 到 Superview 的前导空间:27
- Superview 的顶部空间:24

UITextField 的约束:
- 名称前导空格:20
- 到 Superview 的尾随空间:27
- 将中心 Y 与名称对齐

我希望这会使 UITextField 的左边缘靠近 Name 标签,而右边缘靠近包含它的 UIScrollView 的右边缘。然而,虽然左边缘是正确的,但 UITextField 小得可笑,以至于它最多只能占用一两个字符。

如果我向 UITextField Width >= 156 添加约束,则该字段对于小型 iPhone 来说足够宽,但对于较大的 iPhone 来说就不够宽了。它似乎完全忽略了我在 UITextField 上放置的 Trailing Space to Superview 约束。

如何让 UITextField 根据每个设备的大小调整大小?我可以不借助代码来更改宽度约束的常量吗?为什么不遵守 Superview 约束的尾随空间?

感谢您的帮助。

enter image description here

最佳答案

问题出在 ScrollView 上。我用你的设置做了一个项目,可以看到你所说的非常小的 TextView 。我不知道你是如何制作 ScrollView 的,但是使用自动布局,它们可能会很困难。这就是我对 ScrollView 和自动布局所做的。在您的 View Controller 中,您想要对 ScrollView 设置约束,如下所示,固定到顶部底部和两侧。这允许 ScrollView 占据整个屏幕,无论是什么设备。然后,不要将标签和 TextView 放入 ScrollView ,而是拖入另一个 View 。由于您的输入超出了屏幕的长度,请将所有输入放入这个新 View 并将其向下扩展以为所有输入腾出空间。您可能需要移动 View ,以便将所有内容放入其中。然后将新 View 设置回去,使 x 和 y 位置都为零。

现在是最酷的部分。对 ScrollView 内的这个新 View 进行约束。按如下所示制作它们,顶部,底部,两侧和高度。然后将此 View 置于其容器的中心。现在,在 View 实际滚动之前,您需要转到轮廓并找到 View 底部的约束。它应该是一个负数。选择此约束并将其设置为零。

enter image description here

您现在可以滚动查看所有输入。

现在您可以在标签和 TextView 上设置约束。为此,将标签上的约束设置为查看顶部,查看前导空间,然后固定高度和宽度。选择 TextView 并将约束设置为固定到标签,固定到 View 的尾部。然后你可以将它的 Y 设置为标签 Y。如果你选择两者,你可以选择水平居中对齐。 enter image description here

它应该如上图所示。结果将是您在帖子中想要的。继续以相同的方式向其余输入字段添加约束,一切都应该有效。请让我知道,如果你有任何问题。

关于ios - 自动布局中 UITextField 的灵活宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com