首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NavigationBar在滑动时隐藏后,HeaderCell &状态栏之间会出现单元格。

NavigationBar在滑动时隐藏后,HeaderCell &状态栏之间会出现单元格。
EN

Stack Overflow用户
提问于 2016-04-08 21:20:48
回答 1查看 601关注 0票数 2

编辑:我尝试在AppDelegate DidFinishLaunch..中添加

代码语言:javascript
运行
复制
let view: UIView = UIView.init(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.size.width, 25))
view.backgroundColor = UIColor.redColor()
view.alpha = 1
self.window!.rootViewController!.view.addSubview(view)

在我将状态栏更改为红色后,我阻止了它在状态栏下运行,但我意识到这不仅仅是状态栏,导航条在被滑动时发生了一些事情。内容单元格显示到NavBar被删除后的1秒。1秒后,一切看起来都很好,没有任何内容单元格会超过标题单元格或状态栏。

要清除问题,在导航栏滑动时,标题单元格和状态栏之间存在空白形式,因此内容单元格出现1秒。

但我怎样才能防止这种1-2秒的错误呢?是标题单元格给出了一个间隔1-2秒。大多数情况下,如果我快速地滑动/滚动表视图的话。

我把下面的问题留给未来的读者。

原始问题:

我有一个具有标头和内容单元格的TableViewController。我正在隐藏导航控制器在滑动。但是,隐藏Nav之后,内容单元格的内容将位于顶部的状态栏之下。其他一切都很好。

标题单元格看起来很好,因为它们就停在状态栏下面。

  • Extend Edges - Top Bars should be checked for the header cell to stop going under status bar but unfortunately doesn't stop content cell.

我试过:

  • self.tableView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0)。但是,这在标题单元格和状态栏(甚至在导航栏被隐藏之前)之间提供了一个空间。我想在隐藏Nav酒吧之后实现。
  • self.extendedLayoutIncludesOpaqueBars = false什么也不做。
  • self.automaticallyAdjustsScrollViewInsets = false使用它将HeaderCell锚定在视图的顶部,这样HeaderCell就可以定位在NavigationBar下面。
  • self.edgesForExtendedLayout = UIRectEdge.None。使用这使得HeaderCell位置本身从状态栏的顶部开始,所以标题的一半看起来在状态栏下面。(此外,导航栏-条形提花迫使变得灰暗,无视我选择的任何东西,所以不太方便)

我想问

  • 是否有一种方法不使状态栏不透明&使其坚实?(我在故事板上有Status Bar - Inherred )。
  • 否则,是否有办法防止这种行为?可能考虑状态栏实体;或者在导航栏隐藏后,给标头单元格一个从状态栏开始的空间或位置HeaderCell?
EN

Stack Overflow用户

回答已采纳

发布于 2016-04-09 02:55:26

我和TableViewController没有什么关系,这是我的解决办法.

  • 创建了一个新的ViewController
  • 未选中的“调整滚动视图内嵌”
  • 将TableView从TableViewController复制到ViewController的视图中。
  • 添加约束到TableView (顶部/底部/左-20/右20)。
  • 在AppDelegate中,将白色赋予状态栏。
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36509535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档