동적으로 셀의 행 높이를 UILabel 높이 (셀의 하위보기)로 설정하고 싶습니다.iPhone : UILabel의 콘텐츠 높이로 행 높이를 변경하는 방법
어려움은 UILabel의이 문자열의 내용
두 문제를 확인하여 그 높이를 얻을 필요가있다 :
1 어떻게 제대로 문자열 아이폰에에 따라 UILabel의에서 numberofLines을 설정할 수 있습니까?
2 cellForRow 메서드보다 먼저 delegate 메서드 인 heightForRowAtIndexPath가 호출되었으므로이 UIlabel 높이를 row.height에 어떻게 반영 할 수 있습니까? 여기
내가 잘못 somethinsg 할 확신 whcih 일부 코드 ..입니다Nsstring st= "very long text...";
CGSize theSize = [st sizeWithFont:font constrainedToSize:CGSizeMake(250.0f, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];
CGRect cg = CGRectMake(0.0f, 0.0f, 250.0f, theSize.height);
UILabel *label=[[UILabel alloc] initWithFrame:cg];
label.textAlignment=UITextAlignmentLeft;
label.text=st;
[label setNumberOfLines:10];// this is trouble!! how to set this!?
[cell addSubview:label];
'UILabel'의 [numberOfLines] (http://developer.apple.com/library/iOS/documentation/UIKit/Reference/UILabel_Class/Reference/UILabel.html#//apple_ref/occ/instp/UILabel/ numberOfLines)는 최대 * 줄 수입니다. "최대 한도를 제거하고 필요한만큼 줄을 사용하려면이 속성 값을 0으로 설정하십시오." – albertamg
@albertamg 놀라워요! 0으로 설정하면 대부분의 문제가 해결되었습니다! 어떻게 행을 설정할 수 있습니다. 높이까지. 크기. 높이? txx – Spring
당신은'heightForRowAtIndexPath :'를 구현하고 행에 적절한 높이를 리턴해야합니다. 'theSize'의 계산을 도우미 메서드로 옮기고'cellForRowAtIndexPath :'에서 사용할 수 있습니다. – albertamg