ストーリーボードファイルでは、UITableViewで複数のプロトタイプセルを設計しています。各セルには、独自のセル識別子があります。
セクションと行に応じて、メソッドのプロトタイプセルの1つをデキューします-tableView:cellForRowAtIndexPath:
ほとんどのプロトタイプセルでは、行の高さを変更していません。私のストーリーボードでは、それらの高さはUITableViewの「サイズインスペクター」の下にある「行の高さ」プロパティによって決定されるようです。
1つのプロトタイプセルについて、特定のUITableViewCellの「サイズインスペクター」の下にある「行の高さ」プロパティを使用して高さを変更しました。チェックボックス「カスタム」もチェックされています。
私のストーリーボードでは、これはうまく機能しているようです。ただし、実行時にセルがデキューされてTableViewに追加されると、すべてのセルがデフォルトの行の高さになります。
これで、他の投稿で言及されているtableView:heightForRowAtIndexPath:メソッドを認識していますが、ストーリーボードでカスタム行の高さをすでに設定しているため、使用するのは少し奇妙に思えます。
このプロパティが機能しない理由を誰かが知っていますか?このプロパティは、さまざまな状況で使用するために修正される可能性がありますか?
ありがとう
heightForRowAtIndexPath
が呼び出されます(テーブルの各行に対して)前セルが表示されます。つまり、cellForRowAtIndexPath
が呼び出される前です。これは、基になるスクロールビュー、スクロールインジケーターなどのレイアウトを計算するために必要です。
Xcode5のInterfaceBuilderを使用して、コードなしでテーブルビューの行の高さを変更する場合は、次の2つの場所で行うことができます。
2番目の方法を使用している可能性がありますか?最初の方法を使用してテーブルビューのすべての行のデフォルトの高さを設定し、2番目の方法を使用してInterfaceBuilderに例外について通知してみてください。