0

UITableViewのすべてのセルにカスタムセルの高さを設定する必要があります。この方法では:

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

私はこれを試してみます:

if ([[tableView cellForRowAtIndexPath:indexPath] reuseIdentifier] == @"imageCell")

ストーリーボードに異なる識別子を使用して3つの異なるセルを設定しているため。しかし、私のアプリはここででクラッシュしますEXC_BAD_ACCESS

なぜですか?

ありがとう。

4

2 に答える 2

2

文字列を比較しているので、使用する必要がありますisEqualToString:

if ([[[tableView cellForRowAtIndexPath:indexPath] reuseIdentifier] isEqualToString:@"imageCell"])
于 2012-06-10T20:54:32.127 に答える
0

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

tableViewのセルを取得するのではなく、行の高さを計算することになっています。

私の意見では、TableViewデリゲートのライフサイクルでは、最初のステップ(各UITableViewCellを割り当てる前)で、TableViewデリゲートは各行にheightForRowAtIndexPathを呼び出します(ただし、現時点では、UItableViewCellは割り当てられていません)。2番目のステップでは、TableView呼び出し

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathを使用して、UitableViewセルを作成します。

于 2012-06-11T11:05:00.773 に答える