테이블 뷰가 있고 셀의 텍스트에 여러 줄을 표시하려고합니다. 다음 코드를 시도하고 높이를 변경하지만 텍스트가 중단되지 않고 두 번째 줄이 나타나지 않습니다. 내가 뭘 잘못하고 있는지에 대한 단서가 있습니까?테이블 뷰 셀에 여러 줄 표시
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil)
{
cell = [[UITableViewCell alloc]
initWithStyle: UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSString *myString = [_menuItems objectAtIndex:[indexPath row]];
UILabel *settingsLabel = (UILabel *)[cell viewWithTag:201];
settingsLabel.text = myString;
settingsLabel.lineBreakMode = NSLineBreakByWordWrapping;
settingsLabel.numberOfLines = 0;
[settingsLabel sizeToFit];
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *str = [_menuItems objectAtIndex:indexPath.row];
CGSize size = [str sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17] constrainedToSize:CGSizeMake(200, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
NSLog(@"%f",size.height);
return size.height + 10;
}
스토리 보드를 사용하고 있습니까? 위의 코드로 이상한 동작을 보는 iOS 버전은 무엇입니까? iOS 7에서 스토리 보드를 사용하여 코드를 약간 수정 해 보았습니다. 2 줄의 텍스트로보기에는 꽤 좋았습니다. – Ricky
예 iOS 7에서 스토리 보드를 사용하고 iPhone 5 (4 인치 화면)에서 시뮬레이션하고 있습니다. 내 프로젝트에서는 텍스트 한 줄만 보았습니다. 어쩌면 스토리 보드에 레이블이있는 sth입니다 ... – nabrugir