NSTextView的内在内容大小

时间:2014-02-19 05:18:53

标签: cocoa autolayout nstextview

我正在继承NSTextView并使用以下代码来计算内在内容大小,以便文本视图的高度随着我的自动布局约束中的内容而增长。

- (CGSize)intrinsicContentSize
{
    return [[self layoutManager] usedRectForTextContainer:[self textContainer]].size;
}

除了在初始调用中返回(0,0)大小时,它才有效。

如果我在创建文本视图后在视图中调用[self setNeedsLayout:YES]并在-layout中使文本视图的内容大小无效,则会为新的空文本视图返回正确的大小。

有没有办法让-intrinsicContentSize为我的新文字视图返回正确的尺寸而不更新我的视图布局?

1 个答案:

答案 0 :(得分:0)

查看this thread,其中Alexander Staubo分享了稍微调整过的代码版本。这对我有用。