问题
Generally, table has a fixed row height but according to my requirements I need to set height of each row according to content within it.
Can anyone suggest me some solution for it?
Thanks,
Miraaj
回答1:
The table view delegate protocol has a tableView:heightOfRow that lets you set the height of each row in the table view.
回答2:
Thanks all for your suggestions and help. This problem is now resolved using following code in tableView:heightOfRow:
float colWidth = [[[tableView tableColumns] objectAtIndex:1]width];
NSString *content = [[[tempArray objectAtIndex:row] objectForKey:@"tValue"] string];
float textWidth = [content sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[NSFont fontWithName:@"Lucida Grande" size:15],NSFontAttributeName ,nil]].width;
float newHeight = ceil(textWidth/colWidth);
newHeight = (newHeight * 17) + 13;
if(newHeight < 47){
return 47;
}
return newHeight;
来源:https://stackoverflow.com/questions/3180484/how-to-set-row-height-based-on-its-content-in-table