1

UITableView があり、tableview の高さを 308 に設定しました。各セルのサイズは、スクリーンショットに示すように 154 です。

ここに画像の説明を入力

これを実行すると、UITableView に 3 行あります。高さは 308 のままで、スクロール オプションがあることを期待していました。スクロールすると3行目も表示されますが、UITableViewの動作は異なります。以下のように画面全体を撮影しています。

ここに画像の説明を入力

ご覧のとおり、3列目と列の高さが増しているのがわかります。

テーブルビューの場合に高さを調整するには、viewWillAppear に以下のコードを追加しました。

mainTableView.frame = CGRectMake(mainTableView.frame.origin.x, mainTableView.frame.origin.y, 320, 308);

これを初めて実行すると、3 つの行すべてが表示されます。追加しようとしてホーム画面に戻ると、2 行しか表示されません。しかし問題は、スクロールするとクラッシュすることです。

クラッシュ 言う

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]'

しかし、これは実際の問題ではありません。これが問題である場合は、初めて HomeViewController にアクセスしたときにクラッシュしたはずです。

この UITableView の問題をどのように解決すればよいでしょうか?

4

1 に答える 1