导航栏会在滚动时隐藏动画(hidesBarsOnSwipe
)。如果页面上有一个带有节标题的表格,则节标题将粘贴在视图的顶部,并在用户滚动时跟随用户。将这两者结合使用时,导航栏隐藏时,节标题和导航栏之间会有间隙,显示背景表格单元格。我希望节标题跟随导航栏,因为它隐藏起来没有间隙。
对于我的问题,使用节标题并不是绝对必要的。我只是喜欢一个粘在屏幕顶部的栏,并在滚动时跟随用户。
我已经尝试了下面发布的示例的替代方法,该方法使用UITableViewController
。调整insets会导致节标题在状态栏下滑动。使用包含静态UIViewController
(对于节标题)和UIView
的{{1}}会导致同样的问题。
这个问题的适当解决方案是什么?
状态栏的背景为灰色,部分标题的背景为红色,以便更好地突出显示导航栏和部分标题之间的间隙。当桌子慢慢向下滚动时,穿过间隙的黄色桌子细胞变得明显。隐藏导航栏后,节标题会按预期重置状态栏。
查看用于上述动画的控制器:
UITableView
从状态栏中删除背景颜色无法解决我看到的问题。下面的GIF显示了状态栏处于原始透明状态的行为。
TLYShyNavBar有一个我想要实现的行为的GIF(在下面添加)。这个项目没有维护,如果没有额外的操作就行不通,但有一个很好的例子,说明我希望行为看起来像什么。
我理解这种行为不是错误/问题,而是苹果更喜欢它。着色View的背景是一个选项(参见下面的answer)。对于这种情况,有两种方法可以解决这个问题:
答案 0 :(得分:1)