2011-11-30 89 views
1

我想在一個tableview中顯示一個可以是(最多)4000個字符長的字符串。我已經嘗試使用NSAttributedString來查找NSTextFieldCell的行高,但是當我插入> 4行文本時,我總是會略微縮短。NSTableView + NSTextFieldCell動態行大小

NSTextFieldCell設置爲使用NSLineBreakByWrapping作爲換行符。

可以使用NSAttributedString旁邊的內容來獲取我需要的高度?

+0

[基於NSString的NSTableView的行高度]的可能重複(http://stackoverflow.com/questions/3212279/nstableview-row-height-based-on-nsstrings) – 2011-11-30 22:51:22

回答

3
id cell = [[tableView tableColumnWithIdentifier:@"test"] dataCell]; 
    [(NSTextFieldCell *)cell setStringValue:[_messages objectAtIndex:row]]; 
    NSRect tallRect = NSMakeRect(0, 0, [tableView frame].size.width, CGFLOAT_MAX); 
    return [cell cellSizeForBounds:tallRect].height;