NSTableView中的NSTextView框架问题

时间:2012-09-06 15:37:53

标签: frame nstableview nstextview

我想在nstextview上放置一个属性字符串,并手动计算textview和行的高度

-(CGFloat)tableView:(NSTableView *)tableView heightOfRow:(NSInteger)row

里面

-(NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
    {
        WBMessageTableCellView *result = [tableView makeViewWithIdentifier:@"wbCell" owner:self];

        //do some calculation, and update textview's frame
        textView.frame = CGRectMake(57.0f, 36.0f-height, 380.0f, height);
    }

height是NSTextView的计算结果。

第一次一切都很好, enter image description here

但如果我滚动,TextView开始向下移动, enter image description here

它已经困扰了我一天,有谁知道为什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我自己弄明白了。

答案是我需要覆盖prepareForReuse,并将单元格的帧重置为原始大小,因此计算结果良好。