問題の説明: グループ化された iOS 7 ではUITableView
、テーブル ビューの上部と最初のセルの間にギャップがあります。
奇妙な部分は、最初にコンテンツをロードしたときにテーブルが問題ないように見えますが (最初の画像)、下にスクロールすると上部と最初のセルの間にスペースが表示されることです (2 番目の画像):
スタイル プレーンではこの動作は発生しませんが、残念ながら、グループ化されたテーブル ビュー スタイルを使用する必要があります。
何かアイデアはありますか?
問題の説明: グループ化された iOS 7 ではUITableView
、テーブル ビューの上部と最初のセルの間にギャップがあります。
奇妙な部分は、最初にコンテンツをロードしたときにテーブルが問題ないように見えますが (最初の画像)、下にスクロールすると上部と最初のセルの間にスペースが表示されることです (2 番目の画像):
スタイル プレーンではこの動作は発生しませんが、残念ながら、グループ化されたテーブル ビュー スタイルを使用する必要があります。
何かアイデアはありますか?
ViewDidLoad
これをメソッドに追加するだけです
self.automaticallyAdjustsScrollViewInsets = NO;
ストーリーボードで xib またはコントローラーを選択して、View Controller の属性インスペクターに移動します。[レイアウトでスクロール ビューのインセットを調整する]のチェックを外します。それは問題を解決します
グループ化されたスタイルと 1 つのグループのみで UITableView を使用している場合は、代わりにプレーン スタイルを使用して問題を解決してください。
UITableViewController *tableViewController;
tableViewController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
グループ化された型でこの問題を解決する最も簡単な方法tableView
は次のとおりです。
tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];
Xcode 7.3.1
、iOS9
、および で作業していswift 2
ます。私にとって何がうまくいったかを共有したいと思います:
ViewDidLoad
これをメソッドに追加するだけです
self.automaticallyAdjustsScrollViewInsets = false;
非常に奇妙な状況で、テーブル ビューの 1 つの上部にこの余分なスペースが表示されていました。
UIScrollView
ナビゲーション スタックの最初のコントローラーのルート ビューとしてa を追加した後、次のコントローラーをShow Detail
セグエとして提示すると、次のコントローラーのテーブル ビューの上にスペースができてしまいます。
私にとっての解決策は、セグエをに変更することでPresent Modally
、すべてが正常に戻りました。
セグエの変更の最も奇妙な部分は、ルート ビューを追加する前UIScrollView
に、Show Detail
セグエが次のコントローラーをモーダルに提示していたことです。しかし、 root を追加した後UIScrollView
、Show Detail
セグエは次のコントローラーをプッシュしていました (これは私が望んでいたものではありませんでした)。
これはずっと前に回答されたことに気づきましたが、同様の状況に遭遇した他の人のために、私にとって何がうまくいったかを共有します:
xib を使用している場合は、最上位ビューを選択し、属性インスペクターのシミュレートされたメトリック領域で「ステータス バー」を「なし」に設定します。間隔の問題を修正しました。
私にとってこれはうまくいきませんでした
self.automaticallyAdjustsScrollViewInsets = NO;
これにより、テーブル ビューが NavigationBar の下に配置されるだけでした。
私にとってうまくいったのは、ストーリーボードに移動して、tableView のサイズを変更することでした。statusBar を許可するために、tableView の上部に 20 ピクセルのギャップがあったようです。私はそれをスケーリングし、すべてが完全に整列しました.
UIViewController.h
iOS9 SDK には次のメソッドがあります。
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES
プロパティではないので、
self.automaticallyAdjustsScrollViewInsets = NO;
する必要があります
-(BOOL)automaticallyAdjustsScrollViewInsets{
return NO;
}