设置 contentInset 时 UINavigationBar 自动折叠
Posted
技术标签:
【中文标题】设置 contentInset 时 UINavigationBar 自动折叠【英文标题】:UINavigationBar collapses automatically when contentInset is set 【发布时间】:2018-10-10 15:04:11 【问题描述】:我在UINavigationController
中使用单视图控制器制作了简单的项目。在视图控制器中,我添加了UITableView
并设置了contentInset.top = 52
。
当我将一些视图控制器推入导航堆栈并弹回时,大导航栏会折叠,如下图所示。
但如果我不设置contentInset
,那一切都会正常工作。
【问题讨论】:
【参考方案1】:您应该激活安全区域相对边距和安全区域布局指南:
同样在界面生成器的 pin 表视图中到 Superview 而不是安全区域:
【讨论】:
【参考方案2】:尝试设置 prefersLargeTitles = true
navigationController?.navigationBar.prefersLargeTitles = true
另外,不想在view detailViewControl中显示大标题,可以设置largeTitleDisplayMode = .never
navigationItem.largeTitleDisplayMode = .never
【讨论】:
以上是关于设置 contentInset 时 UINavigationBar 自动折叠的主要内容,如果未能解决你的问题,请参考以下文章
设置contentInset时MJRefresh下拉刷新异常
iPhone:在为导航栏显示/隐藏设置动画时无法为 contentInset 设置动画
设置 contentInset 并且 tableViewHeader 中的 UITextField 变为活动状态时 UITableView 向下滚动
WKWebView+contentInset 使内容大小错误