문제

실제로 여러 줄에 걸쳐 텍스트를 얻을 수없는 것 같습니다. 높이가 정확해 보입니다. 내가 무엇을 놓치고 있습니까?

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

    UITableViewCell *cell =  [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"StatusCell"] autorelease];

    CGRect frame = cell.contentView.bounds;
    UILabel *myLabel = [[UILabel alloc] initWithFrame:frame];
    myLabel.text = [[person.updates objectAtIndex:indexPath.row] valueForKey:@"text"];
    [cell.contentView addSubview:myLabel];

    [myLabel release];

    return cell;
}

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

    NSString *text = [[person.updates objectAtIndex:indexPath.row] valueForKey:@"text"];
    UIFont *font = [UIFont systemFontOfSize:[UIFont systemFontSize]];
    CGSize withinSize = CGSizeMake(tableView.frame.size.width, 1000);
    CGSize size = [text sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];

    return size.height + 20;    
}

또한 레이블을 테이블 셀보다 길게 보이게하는 것은 무엇입니까?alt text

도움이 되었습니까?

해결책

Tweetero 이것의 예를 제공합니다 MessageListController.m. 코드는 다음 화면을 렌더링합니다.

(사진은 가져 왔습니다 으깬).

기본 구현 개요 :

  1. 구성 할 때 a UITableViewCell, 생성 및 추가 UILabel 표시된 방식의 하위 뷰로 tableviewCellWithReuseIdentifier:. 창조를 찾으십시오 TEXT_TAG 상표.

  2. 풍요로울 때 UITableViewCell 보기를 사용하면 configureCell:forIndexPath, 마찬가지로 레이블 태그를 찾으십시오 TEXT_TAG.

  3. 완료된대로 각 셀에 대한 적절한 높이를 반환합니다. tableView:heightForRowAtIndexPath.

다른 팁

myLabel.numberOfLines = 2;

을 체크하다 문서 이 속성 사용 방법에 대한 전체 정보.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return theSizeYouWantYourCellToBe;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top