2012-08-07 3 views
0

내 UITableView 내부의 셀을 텍스트 길이에 맞게 조정하려고합니다. 텍스트가 너무 길면 셀이 조금 ​​커져서 적합하지 않습니다.ios - 텍스트에 맞게 UITableViewCells가 확장되지 않습니다.

cell.textLabel.numberOfLines = 0; 
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap; 

cell.textLabel.text = [[name stringByAppendingString:@": "] 
           stringByAppendingString:comment]; 

을하지만 무슨 일 셀이 단지 공간의 동일한 수직 양으로 텍스트에 맞게하려고하고 키가하지 않는다는 것입니다 :

나는 이런 식으로 뭔가를 시도하고있다.

내가 잘못 알고있는 사람이 있습니까?

감사합니다.

답변

4

셀 높이 대리자를 사용해야합니다. 여기를보십시오 : dynamic UITableViewCell height.

당신이해야 할 일은 텍스트 높이를 계산 한 다음 셀 높이를 그 높이로 설정하는 것입니다.
구체적으로이 방법은 다음과 같습니다.

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSString *yourText = [someArray objectAtIndex:indexPath.row]; 
    CGSize constraint = CGSizeMake(320 /*cell width*/, CGFLOAT_MAX); 
    CGSize size = [yourText sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap]; 
    CGFloat height = MIN(size.height, 44.0f); 

    return height; 
} 
+0

해당 게시물의 일부분? 나는 그것을 조사하고 그것을 할 질문에서 아무것도 보지 못했습니다. 또는 답변에서 지적한 자습서를 의미 했습니까? – GeekedOut

+0

답변을 보려면 http://stackoverflow.com/a/8903694/1535038을 참조하십시오. 당신은 텍스트와 너비를 전달하여 행 높이를 계산해야하고 heightForRowAtIndexPath :에 높이를 반환해야합니다. –

+0

감사합니다 -하지만 CELL_CONTENT_WIDTH와 CELL_CONTENT_MARGIN은 어디에서 왔습니까? 동적으로 얻을 수있는 방법이 있습니까? – GeekedOut

관련 문제