UITableView部分标题在导航栏下爬行

Nir*_*att 7 uinavigationbar uitableview sectionheader translucency

由于导航栏样式是半透明的,我将第一部分标题(部分#0)隐藏在我的导航栏下.

我知道之前已经问过这个问题,并且要解决这个问题:

 self.navController.navigationBar.translucent = YES;
Run Code Online (Sandbox Code Playgroud)

这会使问题视图正确 - 部分标题出现在导航栏下方而不是隐藏在它后面,这就是我想要的.

但是,这会使我的其他视图设计无效,并在我的导航栏下方留下所有空间中的额外空格.

如何在正确的位置获取节标题?

Nir*_*att 14

解决:

  • 打开故事板文件
  • 选择UITableView
  • 在属性检查器 - >滚动视图大小 - >内容插入,设置顶部= 44(或导航栏高度).

见下图 - 它是在尺寸部分:

在此输入图像描述

以下是如何以编程方式修复它.


小智 8

使用SVPullToRefresh解决这个问题.我创建了下面的方法并取代了[self.tableView.pullToRefreshView stopAnimating];

-(void)stopPullToRefreshAnimation
{
    [self.tableView.pullToRefreshView stopAnimating]; // call to stop animation

    UIEdgeInsets inset = UIEdgeInsetsMake(44, 0, 0, 0);
    self.tableView.contentInset = inset;
    self.tableView.scrollIndicatorInsets = inset;
} //stopPullToRefreshAnimation
Run Code Online (Sandbox Code Playgroud)