按下后,表格视图顶部空间到导航栏增加

Cul*_*tes 4 xcode ios swift

当我单击表视图中的一个单元格时,它会打开一个包含以下代码的新视图:

   let fullResView : FullResponseViewController = self.storyboard?.instantiateViewControllerWithIdentifier("FullResponseView") as! FullResponseViewController
   fullResView.receivedPost = post
   self.navigationController?.pushViewController(fullResView, animated: false)
Run Code Online (Sandbox Code Playgroud)

当我按下时,它会增加表格视图和顶部布局指南之间的距离.表示:

表视图导航控制器错误.

层次:

  • 我有一个标签栏控制器,嵌入在导航控制器中.
  • 创建普通视图后,拖放表格视图.因此表视图位于View中.
  • 表视图确实包含标题视图.为此设置背景颜色时,它会与它一起移动,因此它不应该是具有这些约束的任何东西.

表视图的约束是:

  • 与superview相同
  • 将中心X与superview对齐
  • 顶部空间到顶部布局指南
  • 底部空间到底部布局指南

我尝试过以下方法:

在viewWillAppear中设置:

self.responsesTableView.contentOffset =  CGPointMake(0, 0)
self.automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)

当我按下然后切换到标签栏中的另一个视图,然后再次切换回来时,这确实有效.没有contentOffset它将永远保持这样.

Nit*_*hel 13

正如我所看到的OP图像看起来像导航半透明属性问题.因为推动一个viewcontroller后有相同的44px空白区域.所以这意味着如果您的导航半透明属性为真,那么您UITableview从第0个Y位置开始.如果您的导航半透明属性为false,UITableview则从44px Y位置开始.

所以我猜想在UINavigation的半透明成为真与假之间.在DidFinish方法中在appdelegate类中添加一行:

UINavigationBar.appearance().translucent = false
Run Code Online (Sandbox Code Playgroud)

这是appearanceUINavigationBar为使您的项目这种虚假globley.希望能解决你的问题.