UINavigationController меняет направление InteractivePopGesture - PullRequest
0 голосов
/ 26 апреля 2018

Я проектирую приложение справа налево. Я сделал все rtl, используя эту строку кода:

UIView.appearance().semanticContentAttribute = .forceRightToLeft

и это работает правильно для всего, кроме интерактивного жеста моего контроллера навигации. направление перехода правильное:

enter image description here

но когда я хочу использовать поп-жест (проведите пальцем от левого края к правому краю), вид станет видимым с противоположной стороны.
Как я должен изменить это?
Я попытался изменить края на .right, но это отключило распознаватель жестов:

let gesture = interactivePopGestureRecognizer as! UIScreenEdgePanGestureRecognizer
    gesture.edges = .right

1 Ответ

0 голосов
/ 30 апреля 2018

Вы должны изменить оба view и navigationBar семантический атрибут
используйте это расширение:

extension UIViewController {
    open override func awakeFromNib() {
        super.awakeFromNib()
        navigationController?.view.semanticContentAttribute = .forceRightToLeft
        navigationController?.navigationBar.semanticContentAttribute = .forceRightToLeft
    }
}
...