objective-c - NSScrollView 重叠文本

标签 objective-c cocoa nsscrollview

我有一个从 NSView 抽象来显示滚动 TextView 的实现。

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

我可以在这里解决什么问题吗? 非常感谢。

终于

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

enter image description here

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

enter image description here

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

最佳答案

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

关于objective-c - NSScrollView 重叠文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16056114/

相关文章:

objective-c - NSScrollView如何从左上角开始

objective-c - 同步两个 NSScrollView

objective-c - 检测使用的设备是否为 iPod 的客观 C 方法

cocoa - 使用 Webkit 在 OSX 上创建可换肤的自定义窗口

ios - 为什么在 viewDidLoad 中添加 subview 不起作用

ios - 加载图像会导致内存激增

c++ - 如何通过进程名称检查mac进程是否存在

swift - NSScrollView 不滚动

ios - 从服务器获取数据并添加通知

ios - 如何从后退按钮隐藏导航栏标题 "BACK"