gpt4 book ai didi

macos - 响应式滚动 - setWantsLayer Webkit 问题

转载 作者:行者123 更新时间:2023-12-03 17:21:59 25 4
gpt4 key购买 nike

我的项目基于 Xcode 3 中内置的基本 SDK 10.6 - 重要的是它是一个也适用于 PPC 的通用二进制文件。

在 10.9 中,与 Safari 相比,我的应用程序的滚动非常不稳定 - 如果我添加

[ self 设置WantsLayer:YES];滚动速度超快,就像 Safari 一样,太棒了!

但是,我在滚动时遇到视觉故障,请参阅 eBay 的屏幕截图,其中本应固定在页面底部的合法图像不断重复。

我知道 setWantsLayer 不应该与 webKit 一起使用,但是有没有办法阻止这些视觉故障,或者是否有其他方法可以在不使用 setWantsLayer 的情况下实现平滑滚动。

Issue with eBay

上面是 eBay 滚动时出现的问题,下面是 Twitter 滚动时出现的问题,发生在各种网站上,尤其是固定对象时。

Issue with Twitter

Twitter 问题

最佳答案

实际上,我最初认为下面的解决方案是一个解决方案,但没有意识到我又回到了可怕的跳跃滚动。我把它留作引用。

我在这里遇到了与您相同的问题。

我发现,如果我在子类中实现canDrawSubviewsIntoLayer,我的渲染问题就得到了修复。

所以在initWithCoder/initWithFrame方法调用中:

[self setWantsLayer:YES];

然后实现canDrawSubviewsIntoLayer

- (BOOL)canDrawSubviewsIntoLayer {
return YES;
}

您需要对 webView 进行子类化。我还发现,如果您对下面的 NSView 进行子类化并在 NSView 子类中执行相同的操作,那么效果同样好,但由于我不明白为什么会这样,所以我的建议是对 webView 进行子类化。

希望它能帮助您并帮助其他人。

关于macos - 响应式滚动 - setWantsLayer Webkit 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21664673/

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