2011-07-28 2 views
0

내 테이블의 각 셀에는 최대 세 줄의 레이블이 있으므로 셀 높이가 레이블 높이에 따라 다르므로 특정 셀 (NSIndexPath)의 높이를 반환하는 대리자 메서드를 알고 있지만 실제 셀을 가져와야합니다 높이를 결정하기 위해서, 그리고 만약 내가 cellForRow : atIndexPath :를 heightForCell :이라고 부르면, 무한 루프가되고, cellForRow는 또한 heightForCell을 호출합니다. 내가 처리 할 수있는 방법이 있나?다른 셀 높이로 UITableView를 처리하는 방법?

감사합니다.

답변

0

heightForRow : 대리자 메소드의 문자열에 NSStrings 크기를 사용할 수 있습니다.

CGSize maxSize = CGSizeMake(300, 800); //max x width and y height 
NSString *cellTitle = @"Lorem ipsum"; 
UIFont *stringFont = [UIFont systemFontOfSize:14]; // use the same font your using on the cell 
CGSize cellStringSize = [myString sizeWithFont:stringFont constrainedToSize:maximumSize lineBreakMode: UILineBreakModeWordWrap]; 

이렇게하면 CGSize가됩니다. 여기에서부터 높이를 사용하고 약간의 패딩을 추가 할 수 있습니다. 당신은 여기에 대한 자세한 내용은 찾을 수 있습니다 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/NSString_UIKit_Additions/Reference/Reference.html

팀을

관련 문제