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


    static NSString *CellIdentifier = @"Cell";

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

    }

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    if (indexPath.section == 0) {

        cell.accessoryType = UITableViewCellAccessoryNone;

        if (indexPath.row == 0) {

            cell.textLabel.text = NSLocalizedString(@"Username", @"");
            account = [self createNewLabel];
            account.text = @"this is xyz doing some work in xyz, xyz is also working with me and  we are doing great work, We hope to continue good work in future and make this company in good position. I wanted to stayed in this company for long time to take  this company in high value";
            [cell.contentView addSubview:account];

        }
        if (indexPath.row == 1) {

            cell.textLabel.text = NSLocalizedString(@"Password", @"");
            contact = [self createNewLabel];
            [cell.contentView addSubview:contact];
        }
    }
    cell.textLabel.font = [UIFont boldSystemFontOfSize:15];
    cell.textLabel.textColor = [UIColor blackColor];

    return cell;
}

セル コンテンツ ビューでアカウント ラベル テキストを調整する方法

4

2 に答える 2

1

どうぞ

+ (CGFloat) getHeightOfString:(NSString*)string withSize:(CGFloat)size andWidth:(CGFloat)width
{
    CGSize boundingSize = CGSizeMake(width, CGFLOAT_MAX);

    CGSize stringSize = [string sizeWithFont:[UIFont systemFontOfSize:size] constrainedToSize:boundingSize  lineBreakMode:UILineBreakModeWordWrap];
    return stringSize.height;
}

上記のメソッドは、テキストの高さを提供します。この高さは、セルのラベルに設定できます。メソッドには、ラベルの幅、フォント サイズ、およびテキストが必要です。

ラベルの高さを動的に実装するには、行の高さに注意する必要があります。したがって、rowHeight を設定するときに、tableView のデリゲート メソッドで、それらの高さを計算して設定する必要があります。また、 cellForRow メソッドでは、高さを計算して設定する必要があります。

また、行数を動的に計算する必要があります。通常は

int numberOfLines = height/18; // or try height/19

それは完全に機能するはずです。

ありがとう

于 2012-10-12T06:30:17.703 に答える
0

これを試して:

NSString *lblText = @"YOUR STRING";
    CGSize lblSize = [lblText sizeWithFont:[UIFont italicSystemFontOfSize:17] constrainedToSize:CGSizeMake(930, 500) lineBreakMode:UILineBreakModeWordWrap];
    CGRect frame = account.frame; 
        frame.size.height = lblSize.height;
        account.frame = frame;
于 2012-10-12T06:33:37.877 に答える