Неправильное заполнение при отображении второго модального навигационного контроллера на iOS 13 - PullRequest
1 голос
/ 21 января 2020

Вкл. iOS 13, при представлении второго контроллера модального вида поверх первого, заполнение некорректно для элементов панели кнопок. В частности, исчезает правое поле.

Incorrect Padding

Как это исправить?

1 Ответ

5 голосов
/ 21 января 2020

Это поведение связано с ошибкой в ​​iOS 13. Это можно исправить, вызвав setNeedsLayout на панели навигации.

Пример Swift:

override func viewWillAppear(_ animated: Bool) {  
     super.viewWillAppear(animated)  
     if #available(iOS 13.0, *) {  
          navigationController?.navigationBar.setNeedsLayout()  
     }  
} 

Цель- C пример:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // Fix navigation item placement on iOS 13: https://forums.developer.apple.com/thread/121861
    if (@available(iOS 13.0, *)) {
        [self.navigationController.navigationBar setNeedsLayout];
    }
}

Кредиты: Решение заимствовано из этой темы в форме для разработчиков Apple.

...