次のコードを使用してUITableView
の行の高さを設定しています
[tableView setRowHeight: 100.00];
UITableView
の1行をセパレーターとして使用しています。
上の高さを設定しても、行の高さは変わりません。
実装する必要があります
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
デリゲートメソッド。そこで100.0を返します。
すべての行の高さが同じである場合はheightForRowAtIndexPath
を避け、rowHeight
プロパティを使用する必要があります。ドキュメントによると:
RowHeightの代わりにtableView:heightForRowAtIndexPath:を使用すると、パフォーマンスに影響があります。テーブルビューが表示されるたびに、各行のデリゲートでtableView:heightForRowAtIndexPath:を呼び出します。これにより、多数の行(約1000以上)を持つテーブルビューで重大なパフォーマンスの問題が発生する可能性があります。
UITableViewControllerサブクラスでは、たとえばviewDidAppear
メソッドで実行できます(UITableViewController
にはtableViewへの参照があります)。
self.tableView.rowHeight = 79.f;
行の高さは、最初に表示されるときにセルにベイク処理されます。
データソースを設定する前にUITableView#rowHeightを設定しましたか?
そうでない場合は、そうします。
何らかの理由でそれができない場合、他のオプションは、行の高さを設定した後にUITableView#reloadDataを呼び出すことです。
私はこれを好きでした、ここでtableobj
はアプリケーションのUITableView
オブジェクトにすぎません。
- (void)viewDidLoad
{
[super viewDidLoad];
[tableObj setRowHeight:100.0f];
}
またはnumberOfRowsInSection:
お気に入り:
- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
[tableObj setRowHeight:100.0f];
return [soandso count]; // soandso is my object
}
データソースを設定する前にrowHeight
を設定するためです。それは私のために働いた(行の高さが等しい場合)。
デリゲート関数を実装することをお勧めします(UITableViewに多数の行がある場合は、おそらく最善の方法ではありません...)。
また、UITableVieCellはUIViewであるため、最初に高さを変更できます...
デリゲートは、iPhone開発では非常に強力です。ここでは、UITableViewDelageを使用しています。
IndentForRow、displayCellForRow、heightForRow、編集などを変更することもできます。