22

UITableView次のコードを使用して行の高さを設定しています

[tableView setRowHeight: 100.00];

の区切りとして単一行を使用していUITableViewます。

上記の高さを設定しても、行の高さは変わりません。

4

6 に答える 6

65

実装する必要があります

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

デリゲート メソッド。そこで 100.0 を返します。

于 2009-10-28T08:40:40.840 に答える
23

heightForRowAtIndexPathすべての行が同様の高さである場合は避け、rowHeightプロパティを使用する必要があります。ドキュメントによると:

rowHeight の代わりに tableView:heightForRowAtIndexPath: を使用すると、パフォーマンスに影響があります。テーブル ビューが表示されるたびに、その行ごとにデリゲートで tableView:heightForRowAtIndexPath: が呼び出されます。これにより、多数の行 (約 1000 以上) を持つテーブル ビューで重大なパフォーマンスの問題が発生する可能性があります。

UITableViewController サブクラスでは、たとえば、viewDidAppearメソッドで実行できます ( UITableViewControllertableView への参照があります)。

self.tableView.rowHeight = 79.f;
于 2011-01-18T23:55:19.367 に答える
7

行の高さは、セルが最初に表示されるときにセルに焼き付けられます。

データソースを設定する前に UITableView#rowHeight を設定しましたか?
そうでない場合は、そうしてください。
何らかの理由でそれができない場合は、行の高さを設定した後に UITableView#reloadData を呼び出すという別のオプションがあります。

于 2009-12-09T02:45:28.150 に答える
3

私はこれが好きでした。ここには私のアプリケーションのオブジェクト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データソースを設定する前に を設定するためです。それは私にとってはうまくいきました(行の高さが等しい場合)。

于 2012-11-07T12:55:32.717 に答える
0

より適切でクリーンな解決策は、デリゲート関数を実装することです (UITableView に多くの行がある場合は最適ではない可能性があります ...)。

また、 UITableVieCell は UIView であるため、最初に高さを変更できると考えてください...

デリゲートは iPhone dev で非常に強力です。ここでは UITableViewDelage:

http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html

indentForRow、displayCellForRow、heightForRow、edit などを変更することもできます .....

于 2010-07-10T08:18:31.643 に答える
-5

UITableView にそのようなメソッドがあるとは思いません...

代わりに、rowHeight プロパティを使用できます...
試してください、tableView.rowHeight = 100;

于 2009-10-28T08:41:12.330 に答える