首页 > 解决方案 > NavigationBar 奇怪的额外空白

问题描述

我正在使用带有 UITableView 的常用视图控制器,它嵌入到导航控制器中,导航控制器嵌入到标签栏控制器中:

我正在使用带有大标题的 NavBar。当我以通常的方式向上滚动时,带有大标题的导航栏具有正常高度。但是当我触摸状态栏并且 tableView 滚动到顶部时,导航栏会在状态栏和它的标题之间获得额外的空白:

用手指滚动时的正常空间:https ://ibb.co/0BWgB0T

触摸状态栏时的额外空间:https ://ibb.co/LxFwDKx

唯一有助于避免额外空间的事情如下:

edgesForExtendedLayout = UIRectEdge(rawValue: 0)

但它使 tabBar 变成灰色,而不是应有的白色,而且无论如何似乎是一个非常不正确的解决方案。

有没有人遇到过同样的问题?

标签: swiftscrolltableviewuinavigationbar

解决方案


好的,突然我找到了解决方案。是的,它包括这行代码:

edgesForExtendedLayout = UIRectEdge(rawValue: 0)

但我还必须将 tabBar 颜色设置为更可取,并在 Interface Builder 中禁用其“半透明”属性。

希望它会帮助某人。


推荐阅读