【问题标题】:How to make a view on a TableView controller cover the navigation bar?如何使 TableView 控制器上的视图覆盖导航栏?
【发布时间】:2018-09-24 19:11:22
【问题描述】:

我在具有自定义背景的视图控制器中有一个视图,以及一个清晰的导航栏。问题是当我将导航栏添加到此表视图控制器时,视图不会覆盖后导航栏,因此导航栏看起来是黑色的。如何使视图也覆盖导航栏?

这就是在表格视图控制器中发生的情况,您可以看到视图在导航栏启动时结束

这就是我希望导航栏的样子;当视图控制器嵌入导航栏中时不会发生这种情况,它只会发生在表格视图控制器中

【问题讨论】:

  • 您为 topLayout 或 topSuperview 创建了 top tableview 约束?
  • 不,这个表视图控制器是一个静态表视图控制器,我在这个 TVC 中没有任何约束
  • automaticallyAdjustsScrollViewInsets 是否设置为 true?
  • 我已经解决了这个问题。问题是我的背景是一个视频,我通过获取我的 self.view.layer.bounds 来获取框架,但由于某种原因,这并没有正确绘制高度,而只是在表视图控制器中,在视图控制器中它工作得很好,我所做的是像这样使用 cgrect 的原点 Y 值,直到我找到使背景正确绘制的值让 y = self.view.bounds.origin.y - 70。我不知道为什么这发生了

标签: ios swift xcode view


【解决方案1】:

问题是视图的顶部约束被固定到导航栏而不是视图的顶部。只需将表格视图的顶部更改为固定到屏幕顶部而不是导航栏的底部。

【讨论】:

  • 这个表视图控制器是一个静态表视图控制器,我在这个 TVC 中没有任何约束
  • 我建议在storyboard中添加一个基本的UIViewController,然后添加table view。这为您提供了更多关于如何放置表格视图的选项。一旦你这样做了,就很容易改变表格视图的顶部约束。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
相关资源
最近更新 更多