【发布时间】:2019-10-29 05:48:57
【问题描述】:
注意:这与 iOS 13 中使用的新默认模态演示样式无关。
我有一个奇怪的问题,显示模态 UINavigationController。
考虑在UINavigationController 中的UIViewController:
当此代码在 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() 的一些变体,但都没有奏效。
如何在第一个礼物上以正确的高度展示这个?
【问题讨论】:
-
对不起,我搜索了很多,没有发现任何类似的问题。问题是第一个礼物的导航栏高度,而不是演示文稿表单。如果标题具有误导性,您能否推荐一个更好的,以便我编辑问题?
-
这可能无济于事,只能将
let errorNavigation = UINavigationController()更改为let errorNavigation = UINavigationController(rootViewController: errorViewController)并删除errorNavigation.setViewControllers([errorViewController], animated: false)行。 -
不,同样的问题,但感谢您的尝试
-
您可以尝试从
self.navigationController而不是self进行演示吗?我之前从子控制器演示时遇到过问题。