我正在尝试实现一个可以调整大小以适应其内容的NSTextView。我正在试着让它有最大的行数。这意味着,当达到此限制时,它将不会进一步增长,用户将能够滚动它。
似乎有很多人想要这个,但我还没有找到一个完整的实现。
其思想是获取NSTextView的内容大小并调整其大小以使其匹配。我就是想不出如何设置NSTextView的布局大小。它似乎不是需要设置的frame,也不是人们可能期望的。
有没有人可以告诉我如何设置NSTextView的框架
发布于 2012-06-26 04:41:48
原来应该更改的是滚动视图的高度。如下所示,可以通过覆盖-didChangeText方法来更改NSTextView的高度。
- (void)didChangeText
{
NSScrollView *scrollView = (NSScrollView *) self.superview.superview;
NSRect frame = scrollView.frame;
// Calculate height
NSUInteger numberOfLines = [self numberOfLines];
NSUInteger height = frame.size.height;
if (numberOfLines <= 13)
{
height = 22 + (numberOfLines - 1) * 14;
if (height < 22)
height = 22;
}
// Update height
frame.size.height = height;
self.superview.superview.frame = frame;
}尝试使用常量来获得您所希望的结果。
https://stackoverflow.com/questions/11196307
复制相似问题