UITextField 中的文本将无法正确居中

Posted

技术标签:

【中文标题】UITextField 中的文本将无法正确居中【英文标题】:Text in UITextField will not center properly 【发布时间】:2013-04-11 07:16:24 【问题描述】:

我认为我的问题与thread 有关。 我有一个带有两个 UITextFields(用户/密码)的登录屏幕。两者都与占位符文本水平居中对齐。当我按下一个字段时,占位符文本会向左跳一点,并且标记位于第一个字符之后(看起来很糟糕)。

当我开始输入时,会出现清除按钮(应该如此),但文本在 UITextField 视图中未正确居中。

仅当文本字段具有第一响应者时才会出现此问题。

我怎样才能让织补文本和占位符文本留在文本字段的中心???

更新:Storyboard 中的文本字段设置:

【问题讨论】:

remove clear button=) 或者将相同大小的视图添加到leftView中,显示方式相同 NOOOOO :) 当然,这可以解决问题,但这不是唯一的选择。我真的很想在编辑时弹出清除按钮 发布您的代码以供参考 没有更改文本字段的代码。这一切都在 Storyboard 中完成。查看添加的设置屏幕截图。 【参考方案1】:

我遇到了同样的问题,我所做的是我创建了我的自定义控件,上面有 UITextField,下面两个控件的 UILabel 具有相同的宽度和高度。当我需要显示文本占位符时,我将标签 alpha 设置为 1,当我需要隐藏占位符时,我将 alpha 设置为 0。我还将文本输入 bg 颜色设置为清除颜色。除了做所有这些,我还实现了 UITextFieldDelegate (textFieldDidBeginEditing/ textFieldDidEndEditing/ shouldChangeCharactersInRange)

【讨论】:

【参考方案2】:

请查看下图中的控件对齐方式并进行相应设置。 它会解决你的问题

【讨论】:

以上是关于UITextField 中的文本将无法正确居中的主要内容,如果未能解决你的问题,请参考以下文章

如何垂直居中 UITextField 文本?

UITextField 无法正确显示文本

UITextField 无法将占位符居中并更改键盘颜色书写

布局 UITextField 无论清除按钮 X

如何在 Swift 中将 UITextField 文本居中

快速循环通过 uitextfield 类时无法获得带有标签的正确文本字段?