首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSTextView和NSTextContainer大小&剪贴区

NSTextView和NSTextContainer大小&剪贴区
EN

Stack Overflow用户
提问于 2011-05-07 15:08:17
回答 1查看 1.7K关注 0票数 6

我在NSTextView中发现了非常有趣的文本容器行为。当我设置容器的大小,使其小于NSTextView框架的大小,并尝试在NSTextView drawRect:中绘制任何图形(如线条、矩形)时,我所有的图形都被裁剪为文本容器的大小。

因此,NSTextView的框架大小“允许”我使用它来绘图,但这似乎受到容器大小的限制。

是否有可能在文本视图内而在文本容器外进行绘制?

自定义NSTextView中的代码-(空) drawRect:

代码语言:javascript
复制
[super drawRect:dirtyRect];

NSBezierPath* aPath = [NSBezierPath bezierPath];
[aPath moveToPoint:NSMakePoint(100, 100)];
[aPath lineToPoint:NSMakePoint(500, 100)];
[aPath stroke];

自定义文本视图调整大小策略集,因此它可以随容器在所有维度中调整大小。这是自定义NSTextView的代码

代码语言:javascript
复制
- (void) setFrameSize:(NSSize)newSize {

    [super setFrameSize:newSize];

    NSTextContainer *container = [self textContainer];
    newSize.width -= 200;
    [container setContainerSize:newSize];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-09 03:19:54

感谢罗斯·卡特的建议:

尝试像这样包装对super的调用:

代码语言:javascript
复制
[NSGraphicsContext saveGraphicsState];
[super drawRect:rect];
[NSGraphicsContext restoreGraphicsState];
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5919628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档