가변 크기의 uitableviewcell을 어떻게 만들 수 있습니까?
-
22-07-2019 - |
문제
실제로 여러 줄에 걸쳐 텍스트를 얻을 수없는 것 같습니다. 높이가 정확해 보입니다. 내가 무엇을 놓치고 있습니까?
- (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;
}
해결책
Tweetero
이것의 예를 제공합니다 MessageListController.m
. 코드는 다음 화면을 렌더링합니다.
(사진은 가져 왔습니다 으깬).
기본 구현 개요 :
구성 할 때 a
UITableViewCell
, 생성 및 추가UILabel
표시된 방식의 하위 뷰로tableviewCellWithReuseIdentifier:
. 창조를 찾으십시오TEXT_TAG
상표.풍요로울 때
UITableViewCell
보기를 사용하면configureCell:forIndexPath
, 마찬가지로 레이블 태그를 찾으십시오TEXT_TAG
.완료된대로 각 셀에 대한 적절한 높이를 반환합니다.
tableView:heightForRowAtIndexPath
.
다른 팁
myLabel.numberOfLines = 2;
을 체크하다 문서 이 속성 사용 방법에 대한 전체 정보.
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return theSizeYouWantYourCellToBe;
}
제휴하지 않습니다 StackOverflow