我的应用程序支持英语和阿拉伯语。我正在使用UIView.appearance()。semanticContentAttribute属性在RTL和LTR之间切换,反之亦然,如下所示。

 if selectedLanguageId == "eng"{
     UIView.appearance().semanticContentAttribute = .forceLeftToRight
 }else{
     UIView.appearance().semanticContentAttribute = .forceRightToLef
 }

我正在使用self.present(eventController,animation:true,completion:nil)呈现日历事件EKEventEditViewController()。我想总是LTR显示此屏幕。

我尝试使用以下代码,但是当我将语言更改为阿拉伯语时,它显示为RTL。
let eventController = EKEventEditViewController()
eventController.editViewDelegate = self
eventController.event = event
eventController.eventStore = self.eventStore
eventController.view.semanticContentAttribute = .forceLeftToRight
self.present(eventController, animated: true, completion: nil)

请帮助我始终以LTR表示此视图。

ios - 呈现 View  Controller 时如何删除语义内容属性-LMLPHP

最佳答案


UIView.appearance().semanticContentAttribute = .forceRightToLeft
self.present(eventController, animated: true, completion: nil)

而当您解雇它时
if selectedLanguageId == "eng"{
   UIView.appearance().semanticContentAttribute = .forceLeftToRight
 }else{
  UIView.appearance().semanticContentAttribute = .forceRightToLeft
}

关于ios - 呈现 View Controller 时如何删除语义内容属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60931574/

10-14 16:28