UITableViewCell mit variabler Höhe

Mit diesem Script ist es einfach möglich UITableViewCell’s mit variabler Höhe zu gestalten.

CGFloat		result = 44.0f;
NSString*	text = nil;
CGFloat		width = 0;
CGFloat		tableViewWidth;
CGRect		bounds = [UIScreen mainScreen].bounds;
if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation))
tableViewWidth = bounds.size.width;
else
tableViewWidth = bounds.size.height;
width = tableViewWidth - 110;		// fudge factor
text = [self myText];                   // SET INNER TEXT
if (text)
{
// The notes can be of any height
// This needs to work for both portrait and landscape orientations.
// Calls to the table view to get the current cell and the rect for the
// current row are recursive and call back this method.
CGSize		textSize = { width, 20000.0f };		// width and height of text area
CGSize		size = [text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:14]
constrainedToSize:textSize
lineBreakMode:UILineBreakModeWordWrap];
size.height += 19.0f;			// top and bottom margin
result = MAX(size.height, 24.0f);	// at least one row
}
return result;

Kommentar verfassen