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

时间:2012-12-03 09:26:15

标签: uinavigationbar uitableview translucency sectionheader

由于导航栏样式是半透明的,我在导航栏下面隐藏了第一个标题(第0部分)。

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

 self.navController.navigationBar.translucent = YES;

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

但是,这会使我的其他视图设计无效,并在我的导航栏下面留下所有空间。

如何将章节标题放在正确的位置?

4 个答案:

答案 0 :(得分:14)

解决:

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

见下图 - 它的大小不足:

enter image description here

And here is如何以编程方式修复它。

答案 1 :(得分: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

答案 2 :(得分:1)

对于使用时遇到此问题的其他人(SVPullToRefresh)。

可以通过将UIScrollView + SVPullToRefresh.m中的view.originalTopInset更改为您希望标题开头的任何点来解决。

答案 3 :(得分:0)

最简单的解决方案:

tableView.tableHeaderView = UIView()