7

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

我知道以前有人问过这个问题,解决方法是:

 self.navController.navigationBar.translucent = YES;

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

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

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

4

4 回答 4

14

Resolved:

  • Open storyboard file
  • select UITableView
  • Under attribute inspector -> Scroll view size -> Content insets, set Top = 44 (or whichever is your nav bar height).

See image below - it is under size section:

enter image description here

And here is how to fix it programmatically.

于 2012-12-04T04:54:33.490 回答
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
于 2014-04-15T20:55:44.357 回答
1

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

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

于 2014-01-05T12:00:43.710 回答
1

最简单的解决方案:

tableView.tableHeaderView = UIView()
于 2021-03-16T03:34:33.597 回答