0

我有一个抽象的实现NSView来显示滚动文本视图。

我有一个长字符串显示在基于NSView. 一旦它开始滚动,线条就会相互重叠并变得不可读。在循环结束时,当它重新开始时,它将在屏幕上显示所有线条而没有重叠,并且一旦第一部分到达屏幕末尾,重叠就会在其余的绘图期间恢复。

关于我可以在这里解决的问题有什么想法吗?非常感谢。

最后

这是两个屏幕截图,一个是部分显示的文本没有重叠,这是在第一个循环的末尾,它代表文本的开头。

在此处输入图像描述

这是第二个屏幕截图,其中重叠很明显,并且与它显示大部分字符串的方式一致。

在此处输入图像描述

这是滚动的代码,从 iTunes Song Title Scrolling in Cocoa复制/粘贴

4

1 回答 1

1

由于 drawRect 被覆盖,它还必须清除背景,否则在它下面绘制的任何内容都会显示出来,并且(如您所见)以前的内容不会被删除。因此,在开始编写文本之前添加一个 [backgroundColor set] 调用和 NSRectFill。

于 2013-04-17T14:16:16.167 回答