【问题标题】:Weird UITextField Placeholder Behaviour On RTL iOS9RTL iOS9上奇怪的UITextField占位符行为
【发布时间】:2016-07-06 22:44:28
【问题描述】:

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

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

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

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

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

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

请帮忙。

【问题讨论】:

    标签: swift autolayout uitextfield ios9 placeholder


    【解决方案1】:

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

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

    【讨论】:

    • 所以这个属性需要?
    【解决方案2】:

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

    【讨论】:

    • 谢谢,是的,我想要左边的占位符仍然是 RTL 或 LTR
    • @BenjaminHalimi 在实际设备上运行它时,它还在右边吗?
    • 如果我用 RTL 键盘语言书写,则占位符会在光标所在的右侧跳转。
    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 2015-10-17
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    相关资源
    最近更新 更多