5

iPhoneの連絡先アプリに表示されている住所を表示しようとしています。そのため、通常のセルの 3 倍の高さのセルが必要なようです。常に同じになるので、コードに固定の高さを適用するだけです。しかし、私はそれを行う方法がわかりません。私の現在のコードは

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    NSString *address = [NSString stringWithFormat:@"%@\n"@"%@ %@ %@\n"@"%@", dispAddress, dispCity, dispState, dispZip, dispCountry];
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
    }


    // Configure the cell...

        cell.detailTextLabel.lineBreakMode = UILineBreakModeWordWrap;
        cell.detailTextLabel.numberOfLines = 3; // 0 means no max.
        cell.detailTextLabel.text = address;

    return cell;
}
4

1 に答える 1

4

viewDidLoad または他の適切な場所で、すべてのセルを同じ固定高さに設定するには、次のようにします。

self.tableView.rowHeight = 100;

インデックス パスに基づいてセルを異なる高さに設定するには、heightForRowAtIndexPath デリゲート メソッドを使用します。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ((indexPath.section == 0) && (indexPath.row == 0))
        return 100;
    else
        return 44;
}
于 2011-04-26T02:16:23.973 に答える