如何在 Swift 中将 UITextField 文本居中
Posted
技术标签:
【中文标题】如何在 Swift 中将 UITextField 文本居中【英文标题】:How to center UITextField text in Swift 【发布时间】:2014-07-05 17:35:20 【问题描述】:我有一个文本属性设置为“hi”的 UITextField 对象。但是这两行对“hi”的位置没有影响
myUITextObject.contentVerticalAlignment = UIControlContentVerticalAlignment.Center
myUITextObject.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center
这是 Swift 中的错误吗?如果是这样,我该如何将其记录为错误,以便 Apple 可以在下一个 Swift 版本中修复它?
【问题讨论】:
@dasdom 是的,但没用 【参考方案1】:你会想这样写:
myUITextObject.textAlignment = .center
(已编辑以从 .Center 更改为 .center)
【讨论】:
还要注意 myUITextObject.contentVerticalAlignment 可以设置为 .Top、.Center、.Fill 或 .Bottom 以影响垂直对齐 这只会使文本水平居中,myUITextObject.contentVerticalAlignment
不再是一个东西。任何想法如何在不做奇怪的偏移黑客的情况下实现垂直居中。
谢谢!帮助已满。
更改为 myUITextObject.alignment = .center【参考方案2】:
您正在寻找的是 textAlignment 属性;试试这个:
myUITextObject.textAlignment = NSTextAlignmentCenter;
【讨论】:
此答案中显示的代码在 Swift 中不起作用(在 Objective-C 中会起作用)。 @Anna 你说得对,我把正确答案改成了 Dave 的 @Anna 只是好奇,为什么我第一次粘贴的代码不起作用,从其他 SO 帖子看来,这就是这样做的方法。用两种不同的方式做同样的事情似乎很奇怪。 在 Swift 中它看起来像这样: textField.textAlignment = NSTextAlignment.Center;【参考方案3】:另一种方法是使用情节提要。
事实上,有一个垂直和水平控件可用于对齐UITextField
内的元素。
在上述情况下,将文本对齐到 左上角:
希望对你有帮助,
【讨论】:
【参考方案4】:Swift 5 2021
yourTextField.attributedText = NSAttributedString(string: "String for textfield", attributes: [.paragraphStyle: paragraphStyle])
【讨论】:
以上是关于如何在 Swift 中将 UITextField 文本居中的主要内容,如果未能解决你的问题,请参考以下文章
如何在Swift中将UITextField键盘类型更改为电子邮件
在 Xcode 8 和 Swift 3 中将 UITextField 转换为 Integer 并使用它们进行计算
是否有类似IQKeyboardManagerSwift的工具在Swift iOS中将UITextView向上移动?