我正在尝试使用rtl语言在搜索栏中输入文本,问题是,当我尝试使用rtl语言作为键盘上的默认语言进行操作时,当我从英语切换键盘时,它的输入方向错误到rtl语言就可以了。
当前结果
所需结果
我尝试将searchbar语义属性设置为从右到左,但似乎不起作用。有什么想法吗?
答案 0 :(得分:1)
是的,您可以使用UITextFiled containsInstance属性来实现。 只需添加语言检查即可。
if myLanguage == "ar" {
UISearchBar.appearance().semanticContentAttribute = .forceRightToLeft
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).textAlignment = .right
}else{
UISearchBar.appearance().semanticContentAttribute = .forceLeftToRight
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self]).textAlignment = .left
}
答案 1 :(得分:0)
请使用此代码(如您所说):
searchbar.semanticContentAttribute = .forceRightToLeft
在测试时,还请确保您使用的是从右到左语言的模拟器/设备键盘布局。它无法正确使用英文键盘布局。
在模拟器上进行测试时,禁用“连接硬件键盘”(硬件->键盘->“连接硬件键盘”->删除复选标记)很有帮助,以便查看键盘布局。