ナビゲーション コントローラー フローの一部としてストーリーボードを使用してテーブル ビューを作成しています。すべてのセルを 1 ページに表示できる限り、すべてがうまく機能します。問題は、画面に収まるセルがさらにある場合、一部のセルが画面の下部に隠れてしまうことです。バウンス効果を利用してさらに下にスクロールすると、それらを見ることができます。画面を離すとすぐに、一番下のセルが画面の下に跳ね返ります。
問題は、テーブル ビューのフレームの寸法にあると思います。ストーリーボードで変更する方法が見つからず、寸法を動的に変更しようとしました:
self.view.frame = CGRectMake (0.0, 20.0, 320.0, 230.0);
残念ながら、これは viewWillAppear にも viewDidLoad にも影響しません。上記の 230 ポイントの高さの設定では、リストは簡単に表示されるはずです。テーブルには 480 - 44 (ナビゲーション バー) = 436 ポイントが残っています。
私は何を間違っていますか?フレームの高さを間違った場所 (viewWillAppear/viewDidLoad) に設定していませんか? ビューの高さがグレー表示されているときにインターフェイス ビルダーで高さを指定する方法はありますか?
解決策:(以下のコメントからコピー)
フィールドが表示されない理由であるオートサイズの問題をさらに掘り下げると、iOS 6 の機能である「Autolayet を使用する」が有効になっていました。その場合、自動サイズ設定ボックスは IB に表示されません。「Use Autolayet」を無効にすると実際に問題が解決し、スクロールが画面の下部に配置されるようになりました。