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

时间:2016-03-20 12:45:20

标签: swift autolayout uitextfield ios9 placeholder

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

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

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

我想使用UITextField文件中的xib而非编程方式。

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

我不知道为什么在UITextField文件中创建xib占位符的行为方式不同,

请帮忙。

2 个答案:

答案 0 :(得分:1)

检查semanticContentAttribute(属性为UIView)的值,以便您确定布局LTR / RTL的方向。

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

答案 1 :(得分:0)

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