0

为什么会这样:

 Profile *showProfile = [[Profile alloc] init];

    showProfile = [profileArray objectAtIndex:indexPath.row];

    if([[showProfile lastName] length] > 0){
       NSString *cellValue = [NSString stringWithFormat:@"%@ %@", [showProfile lastName], [showProfile firstName]];
       [[cell textLabel] setText:cellValue];

    }

在 UITableViewCell 上而不是在左侧显示文本。我不能张贴图片给你看,但这让我很生气。文本似乎更居中。

但如果我这样做:

Profile *showProfile = [[Profile alloc] init];

        showProfile = [profileArray objectAtIndex:indexPath.row];

        if([[showProfile lastName] length] > 0){
           NSString *cellValue = @"This is aligned properly";
           [[cell textLabel] setText:cellValue];

        }

文字很好。

4

1 回答 1

0

您确定您的姓氏前面没有任何空格吗?尝试像这样修剪字符串:

[[cell textLabel] setText:[cellValue stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];

另请注意,您当前分配了一个从未使用过的 Profile 对象!代替:

Profile *showProfile = [[Profile alloc] init];
showProfile = [profileArray objectAtIndex:indexPath.row];

只需使用这个:

Profile *showProfile = [profileArray objectAtIndex:indexPath.row];

否则,您总是首先创建一个您从不使用的新配置文件对象,这需要时间。

于 2012-10-13T12:51:37.907 回答