UITableView
次のコードを使用して行の高さを設定しています
[tableView setRowHeight: 100.00];
の区切りとして単一行を使用していUITableView
ます。
上記の高さを設定しても、行の高さは変わりません。
UITableView
次のコードを使用して行の高さを設定しています
[tableView setRowHeight: 100.00];
の区切りとして単一行を使用していUITableView
ます。
上記の高さを設定しても、行の高さは変わりません。
実装する必要があります
- (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 dev で非常に強力です。ここでは UITableViewDelage:
indentForRow、displayCellForRow、heightForRow、edit などを変更することもできます .....
UITableView にそのようなメソッドがあるとは思いません...
代わりに、rowHeight プロパティを使用できます...
試してください、tableView.rowHeight = 100;