7

ナビゲーションバーのスタイルが半透明であるため、最初のセクションヘッダー(セクション#0)がナビゲーションバーの下に隠れています。

私はこれが以前に尋ねられたことを知っています、そしてそれへの回避策はすることです:

 self.navController.navigationBar.translucent = YES;

これにより、問題のあるビューが正しく配置されます。セクションヘッダーは、ナビゲーションバーの後ろに隠れるのではなく、ナビゲーションバーの下に表示されます。これが私が望んでいることです。

ただし、これにより他のビューデザインが無効になり、ナビゲーションバーのすぐ下に余分なスペースが残ります。

セクションヘッダーを正しい場所に配置するにはどうすればよいですか?

4

4 に答える 4

14

解決済み:

  • ストーリーボードファイルを開く
  • UITableViewを選択します
  • 属性インスペクター->スクロールビューサイズ->コンテンツインセットで、Top = 44(またはナビゲーションバーの高さのいずれか)を設定します。

下の画像を参照してください-サイズセクションの下にあります:

ここに画像の説明を入力してください

プログラムで修正する方法は次のとおりです

于 2012-12-04T04:54:33.490 に答える
8

SVPullToRefreshを使用しながらこれを解決するには。以下のメソッドを作成し、[self.tableView.pullToRefreshViewstopAnimating]の代わりに作成しました。

-(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 に答える