- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我最近在我客户的应用程序中启用了自动布局,并且正在尝试更新该程序以利用 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 约束的尾随空间?
感谢您的帮助。
最佳答案
问题出在 ScrollView 上。我用你的设置做了一个项目,可以看到你所说的非常小的 TextView 。我不知道你是如何制作 ScrollView 的,但是使用自动布局,它们可能会很困难。这就是我对 ScrollView 和自动布局所做的。在您的 View Controller 中,您想要对 ScrollView 设置约束,如下所示,固定到顶部底部和两侧。这允许 ScrollView 占据整个屏幕,无论是什么设备。然后,不要将标签和 TextView 放入 ScrollView ,而是拖入另一个 View 。由于您的输入超出了屏幕的长度,请将所有输入放入这个新 View 并将其向下扩展以为所有输入腾出空间。您可能需要移动 View ,以便将所有内容放入其中。然后将新 View 设置回去,使 x 和 y 位置都为零。
现在是最酷的部分。对 ScrollView 内的这个新 View 进行约束。按如下所示制作它们,顶部,底部,两侧和高度。然后将此 View 置于其容器的中心。现在,在 View 实际滚动之前,您需要转到轮廓并找到 View 底部的约束。它应该是一个负数。选择此约束并将其设置为零。
您现在可以滚动查看所有输入。
现在您可以在标签和 TextView 上设置约束。为此,将标签上的约束设置为查看顶部,查看前导空间,然后固定高度和宽度。选择 TextView 并将约束设置为固定到标签,固定到 View 的尾部。然后你可以将它的 Y 设置为标签 Y。如果你选择两者,你可以选择水平居中对齐。
它应该如上图所示。结果将是您在帖子中想要的。继续以相同的方式向其余输入字段添加约束,一切都应该有效。请让我知道,如果你有任何问题。
关于ios - 自动布局中 UITextField 的灵活宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197288/
我是一个为 iOS 设备开发的新手。我在 InterfaceBuilder 上插入了一个 UITextField,并分配了代码: @interface ComposeViewController :
我有两个要用于登录的 UITextFields,一个用于用户名,一个用于密码。在我无法关闭第一个 UITextField 中的键盘之前,但我设法解决了这个问题,现在的问题是,一旦它关闭,我就无法单击另
在 tvOS 中编辑 UITextField 会显示一个新 View ,用户可以在其中输入文本,文本输入完成后,用户将返回到之前的 View 。但是,我发现当我从文本编辑器返回时,我编辑的文本没有显示
我在同一个 ViewController 上有三个 UITextfields(customerRequestTextField 、 fundsAvailableTextField 和 amountOw
我有一个要求,需要将内容从一个 UITextField 复制到同一屏幕上的另一个 UITextField 中。它就像一个别名,一旦用户开始输入,我就应该开始复制内容。我正在使用方法 (BOOL)tex
我有一个 ViewController、许多 UITextField(一个在另一个下面)和第一个 UITextField 右边的按钮。 按下按钮时,我希望在此下方显示另一个 UITextField(每
我有 3 个 UITextField(位置、地址、 zip )。我在 viewDidLoad 中隐藏了 2 个字段。 Addres1.hidden = YES; Zip1.hidden = YES;
在 Swift 中,我有一个 UITextField、textA 和一个 UITextField、textB。 textA 有时会被禁用,但 textB 始终启用。 textA 被禁用: textA.
我有 2 个 UITextFields。一个是美元,另一个是瑞尔。当我输入 textfield$ 时,我想自动查看 textfieldRiel 中的值。怎么做 ? 最佳答案 实现 uitextfiel
我想将一个 UITextField 属性转移到另一个 UITextField。我该怎么做? 这是我的完整场景: 我创建了一个自定义单元格,其中有一个 UITextField。 现在,当我在我的 UIT
我有一个 UITextField,我想将其长度限制为 4 个字符,这是它的代码: func textField(textField: UITextField, shouldChangeCharacte
@IBOutlet weak var labelLabel: UILabel @IBOutlet weak var textFieldField: UITextField @IBAction func
我在 xib 中定义了一个 UITableViewCell。这个 UITableViewCell 有一个 UITextField,叫做 itemText。此 UITableViewCell 也采用其他
我们的应用程序有几个 UITextField,用户可以在其中输入字母数字输入代码,例如“AA149873A”。 我们希望画外音将这些读为“A A 1 4 9 8 7 2 A”,但它却将数字读为数字:“
在我的 iOS 应用程序中,我有一个文本字段,其中有一个分配给它的 inputView 的选择器 View 。在 iOS 设备上,每当用户点击文本字段时,选择器 View 就会弹出。但是,当我将它作为
在 iOS 13 中,访问 UITextField 时发生崩溃_placeholderLabel.textColor 标签键。 用于应用占位符文本颜色的键。 [textfield setValue:[
我想复制iMessage结构的效果,点击工具栏中的UITextView,键盘就会出现。但我不知道如何在打字时显示文本。我认为当键盘出现时我应该将 UITextField 向上移动 class View
我有两个 UITextField,cDiseasePicker 和 optionalLMS。 我的cDiseasePicker使用UIPickerView作为输入,选项为“否”、“是,1VD”、“是,
当点击某个 CA 层时,我动态创建了两个 UITextField。我已将第一个文本字段设为第一响应者,我想要的是,当我在第一个文本字段中输入文本并按完成时,我希望第二个文本字段成为第一响应者。这就是我
我正在寻找 UITextField 的方法,它在我输入 UITextField 后产生效果。 我有一个方法来进行计算我使用一个按钮,但我不想使用,我希望你在我在 UITextField 中输入数字后运
我是一名优秀的程序员,十分优秀!