ПРИМЕЧАНИЕ : Речь идет не о новом модальном стиле презентации по умолчанию, используемом в iOS 13.
У меня странная проблема с представлением модального UINavigationController
.
Рассмотрим UIViewController
, который находится внутри UINavigationController
:
Когда этот код работает на iOS 13.0:
@IBAction func btntap(_ sender: Any) {
let errorViewController = UIViewController()
errorViewController.view.backgroundColor = .blue
errorViewController.title = "Erro na solicitação"
let errorNavigation = UINavigationController()
errorNavigation.navigationBar.barTintColor = UIColor(red: 204/255, green: 0/255, blue: 0/255, alpha: 1.0)
errorNavigation.navigationBar.tintColor = UIColor.white
errorNavigation.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white]
errorNavigation.setViewControllers([errorViewController], animated: false)
errorNavigation.modalPresentationStyle = .automatic
self.present(errorNavigation, animated: true, completion: nil)
}
Это происходит:
Обратите внимание на неправильную высоту, когда мы представляем модальный экран в первый раз:
Я хочу продолжить использовать карточную презентацию, но мне нужно исправить эту проблему неправильной высоты при первом подарке.
Это происходит при выполнении следующих требований:
Представление UIViewController
находится внутри UINavigationController
Представленный UIViewController
имеет специальные символы в названии ("ç"," ã "и т. д.)
Настоящее время animated true
Уже пробовал некоторые варианты layoutIfNeeded()
, но ни один не помог.
Как я могу представить это снужная высота на первом подарке?