iOS 中的 Bar 部分被不必要地扩展

Posted

技术标签:

【中文标题】iOS 中的 Bar 部分被不必要地扩展【英文标题】:Bar section in iOS is extended unnecessarily 【发布时间】:2020-01-23 12:56:09 【问题描述】:

在分享的图片中,橙色部分是条形部分,它有不必要的高度,我自己无法解决这个问题。

观点是这样的

父控制器 = 视图控制器 子视图 = 绿色视图,黑色 tableview

请帮忙修正橙色条的高度。

【问题讨论】:

【参考方案1】:

您好像启用了prefersLargeTitles

在您的 viewWillAppear() 中设置为 false

self.navigationController?.navigationBar.prefersLargeTitles = false

您也可以从情节提要中禁用它。

选择您的导航控制器 -> 导航栏 -> 取消选中首选大标题

【讨论】:

这个答案一定是正确的,但是没有成功。 @Ramneek 在您的项目中搜索prefersLargeTitles 并检查您是否没有从某处覆盖它。 尝试给你的视图控制器一个标题并检查它是大还是小。检查它是否真的是一个大标题问题 请帮助纠正橙色条的高度。这是您在问题中要求的。如果它的约束问题,你应该展示你如何设置视图,然后对其进行约束。绿色视图应该对 superView 有一个 top 0 约束【参考方案2】:

您似乎正在使用 navigationBar 上的 largeTitles

var prefersLargeTitles: Bool  get set 

当此属性设置为 true 时,导航栏允许 标题要离线显示并使用更大的字体。这 用于构建栏的导航项必须指定是否要 其标题以大格式或小格式显示。使用 largeTitleDisplayMode 属性来配置标题的外观。 当该属性设置为 false 时,导航栏显示 与其他条形按钮项目内联的标题。

尝试通过以下方式禁用它:

navigationController?.navigationBar.prefersLargeTitles = false

或者您也可以这样做:

navigationItem.largeTitleDisplayMode = .never

希望这会有所帮助:)

https://developer.apple.com/documentation/uikit/uinavigationbar/2908999-preferslargetitles

【讨论】:

应该是navigationController?.navigationBar.prefersLargeTitles = false

以上是关于iOS 中的 Bar 部分被不必要地扩展的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS8.3 上显示警报视图时,iOS 键盘通知不必要地触发

改变的 GradientDrawable 在不同的地方被不必要地重复使用

Webpack v4 在单个页面上有多个条目,块被不必要地重复

.htaccess:使用 RewriteCond 但对 IMAGES/JS/CSS 文件的hrefs仍然被不必要地重写[重复]

在Angular中替换innerHTML不必要地关闭标签[重复]

数组(结构类型)的 Where 是不是已优化以避免不必要地复制结构值?