RTL 上奇怪的 UITextField 占位符行为 iOS9

Weird UITextField Placeholder Behaviour On RTL iOS9

xib 创建 UITextField 并在 RTL 键盘语言上调用 resignFirstResponder() 方法时,UITextField 占位符对齐是正确的。

以编程方式创建 textField 并在 RTL 键盘语言上调用 resignFirstResponder() 方法时,UITextField 占位符对齐被保留。

let txtField = UITextField(frame: CGRectMake(0, 0, 200, 50))

我想使用 xib 文件中的 UITextField,而不是以编程方式。

注意: 清除所有约束没有帮助。 问题仅在 iOS 9

我不知道为什么从 xib 文件创建 UITextField 时占位符的行为不同,

请帮忙。

RTL 是从右到左的脚本,因此 xib 文件中的占位符似乎在做正确的事情,因为用户将从右侧开始。你还想要左边的占位符吗?

检查 semanticContentAttributeUIView 的 属性)的值,让您确定布局的方向 LTR/RTL。

它是在 iOS 9 上引入的,作为对 RTL 的改进系统支持的一部分,它可能是造成 iOS 8 和 9 之间差异的原因。