OS X WebView滚动条重绘/闪烁/闪烁问题

时间:2015-02-01 00:18:05

标签: macos cocoa webkit scrollbar

我在OS X Yosemite上遇到WebView滚动条的问题。 WebView在XIB文件中设置,保持默认设置。然后使用以下内容加载内容:

[self.webView.mainFrame loadHTMLString:html baseURL:nil];

但滚动时,我会看到滚动条的重绘/闪烁/闪烁问题:example video。 (这种情况适用于所有类型的内容,我只是用随机数据记录它)

1 个答案:

答案 0 :(得分:0)

这个很难搞清楚,但是这里说:首先创建一个只有WebView的新项目,看看我是否可以重现它。我无法在那里重现它。

我切换回我的项目,用一个刚刚包含WebView的新xib替换了麻烦的xib。我再也无法重现这个问题。

接下来是在新的xib中重新创建完整UI的更耗时的任务。该问题也不能用这个xib重现。问题解决了!

但是什么引发了这个问题?在盯着两个xib的diff一段时间后,我注意到了一些事情:

<customView alphaValue="0.99999999999999989" translatesAutoresizingMaskIntoConstraints="NO" id="eEn-AF-z0I">

Interface Builder仍然在Appearance部分显示Alpha 1。只将其更改为其他内容并返回1修复了xib:

<customView translatesAutoresizingMaskIntoConstraints="NO" id="eEn-AF-z0I">

我还不确定是什么原因改变了这个值,但至少这可以解决我的问题。此外,层相关属性会导致重绘问题。

不支持图层支持的WebView。从Leopard发行说明:

  

AppKit和Mac OS X的其他Cocoa框架提供的大多数标准视图和控件都能够在Leopard中以层支持模式运行,但某些专用视图除外,例如WebKit WebViews和Quartz Composer QCViews目前不支持在层支持模式下使用。

http://developer.apple.com/mac/library/releasenotes/cocoa/AppKitOlderNotes.html#Animation - &#34;新视图动画设施的最后一段,以及图层支持的视图绘图&#34;节

相关问题