私は自分のアプリケーション内で UINavigationController を使用していますが、これは比較的うまく機能していました。コレクション ビューにヘッダーを表示すると、ナビゲーション バーがスタック内のより高い位置に設定されているように見え、その下にコンテンツをレンダリングできるようになります。
ヘッダーをナビゲーションバーの下ではなく下にレンダリングする方法を知っている人はいますか?
どんな助けでも大歓迎です!
編集
それが役立つ場合は、次のコマンドを実行しました。
NSLog(@"Navigation Bar Bounds %@", NSStringFromCGRect(self.navigationController.navigationBar.bounds));
NSLog(@"Navigation Bar Frame %@", NSStringFromCGRect(self.navigationController.navigationBar.frame));
NSLog(@"Collection View Bounds %@", NSStringFromCGRect(self.collectionView.bounds));
NSLog(@"Collection View Frame %@", NSStringFromCGRect(self.collectionView.frame));
出力は次のとおりです。
[4058:907] Navigation Bar Bounds {{0, 0}, {320, 44}}
[4058:907] Navigation Bar Frame {{0, 20}, {320, 44}}
[4058:907] Collection View Bounds {{0, 0}, {320, 504}}
[4058:907] Collection View Frame {{0, -22}, {320, 504}}
編集終了
問題を示すために、次の画像をアップロードしました。
ストーリーボードの内部:
アプリケーションが読み込まれ、ナビゲーション バーが非表示になっている場合:
ナビゲーション コントローラーとルート ビュー コントローラーを示す完全なストーリーボード。UICollectionView は、HomeViewController.h ファイルの IBOutlet です。