gpt4 book ai didi

cocoa - NSScrollView 作为层支持 View 的 subview 错误?

转载 作者:行者123 更新时间:2023-12-03 16:14:16 28 4
gpt4 key购买 nike

当我将 NSScrollView 作为层支持 View 的 subview (例如,通过从 IB 选择 NSTextView 或 NSTableView)时,我在 ScrollView 的文档 View 中看到奇怪的绘图行为。

为了说明这一点,我在窗口中创建了一个带有 NSTextView 的简单项目。我编写的唯一代码是打开窗口内容 View 的图层支持:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[[self.window contentView] setWantsLayer:YES];
}

这是我在 TextView 中输入内容时的结果。红色下划线未正确排列:

http://mowglii.com/random/screenshot.png

此外,当我调整 TextView 大小时,文本和下划线抖动很大。当我使用表格 View ( ScrollView 内)而不是 TextView 时,我在调整大小时看到了相同的抖动。

知道发生了什么吗?

最佳答案

当嵌入到图层支持的 View 中时,NSScrollView 确实表现得很糟糕。

对包含 ScrollView 的 View 进行动画处理需要一些严重的技巧。您可以尝试仅在需要制作动画时才打开图层支持。然后,您需要强制绘图,以免最终出现空层。

通常,您需要更深入地了解技巧的背后。即:保持图层支持关闭。将 View 绘制到图像中,在启用了图层支持的覆盖 View 中显示该图像。将该 View 动画化为最终状态的图像。然后删除覆盖 View 以显示下面的实际最终状态。

关于cocoa - NSScrollView 作为层支持 View 的 subview 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5860550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com