滚动时NSTextView未正确刷新

问题描述 投票:6回答:4

我有一个NSTextView,有大量的文本。然而,每当我滚动时,视图都没有正确更新。有些工件保留在视图的顶部或底部。看来该视图不会经常刷新自己。如果我滚动得非常慢,视图会正确更新。如果我为视图添加边框一切都很完美,那么无边框视图就会出现问题。这是截图的链接:

谢谢

cocoa macos nstextview artifacts
4个回答
6
投票

你有没有为setDrawsBackgroundcopiesOnScroll设置qazxsw poi和qazxsw poi属性?

我建议的第一件事是关闭NSScrollView的“绘制背景”属性:

NSClipView

请注意,这应该在NSScrollView上设置,而不是在嵌入式[myScrollView setDrawsBackground:NO]; 上设置。

以下来自NSScrollView的摘录可能是相关的:

如果你的NSClipView包含一个documentation发送带有NSScrollView参数的NSClipView消息到setDrawsBackground:有额外的效果发送NO NSScrollView消息参数为NSClipView。将setCopiesOnScroll:消息直接发送到NO的副作用是在滚动时文档视图中出现“trail”(前一个绘图的痕迹)。


2
投票

看起来文字字段甚至不在滚动区域......你确定某些东西不重叠吗?


1
投票

我遇到了类似的问题 - 当NSTextView嵌入另一个scrollview(即NSTableView)时,会产生工件。

我实际上打开了setdrawsbackground,然后添加了一个漂亮的颜色让它再次消失。

setDrawsBackground:

结合scrollWheel事件,我可以在NSTableView中使用NSTextView。

NSClipView

0
投票

前段时间我遇到了同样的麻烦。我不记得我是怎么解决的。

如果superview是自定义视图,请尝试将NSTextView放置到另一个视图。只是看看会发生什么。

© www.soinside.com 2019 - 2024. All rights reserved.