我试图输入一个文本到一个rtl语言的搜索栏,问题是,当我尝试这样做与rtl语言作为默认的键盘上,它开始在错误的方向,当我切换键盘从英语到rtl语言,它的工作刚刚好。
当前结果
预期结果
我试过将搜索栏的语义属性设置为从右到左,但似乎不起作用。
xghobddn1#
是的,你可以使用UITextFiled containInstance属性来完成。只需添加一个语言检查即可。
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 }
zrfyljdw2#
请使用此代码(如您所述):
searchbar.semanticContentAttribute = .forceRightToLeft
测试时,还要确保您使用 * 从右到左的语言进行模拟器/设备键盘布局 *。它不能正常使用英语键盘布局。在模拟器上测试时,禁用“连接硬件键盘”(硬件-〉键盘-〉“连接硬件键盘”-〉删除复选标记)有助于查看键盘布局。
e5nqia273#
您可以将以下内容添加到makeUIView函数中,这两项都是必需的:
searchBar.semanticContentAttribute = .forceRightToLeft searchBar.searchTextField.textAlignment = .right
3条答案
按热度按时间xghobddn1#
是的,你可以使用UITextFiled containInstance属性来完成。只需添加一个语言检查即可。
zrfyljdw2#
请使用此代码(如您所述):
测试时,还要确保您使用 * 从右到左的语言进行模拟器/设备键盘布局 *。它不能正常使用英语键盘布局。
在模拟器上测试时,禁用“连接硬件键盘”(硬件-〉键盘-〉“连接硬件键盘”-〉删除复选标记)有助于查看键盘布局。
e5nqia273#
您可以将以下内容添加到makeUIView函数中,这两项都是必需的: