OS X WebView 滚动条 redrawing/flickering/flashing 问题
OS X WebView scrollbar redrawing/flickering/flashing issue
我在 OS X Yosemite 上遇到 WebView
滚动条的问题。 WebView
在 XIB 文件中设置,保留默认设置。然后加载内容:
[self.webView.mainFrame loadHTMLString:html baseURL:nil];
但是在滚动时我看到 redrawing/flickering/flashing 滚动条问题:example video。 (这种情况发生在各种内容上,我只是用这个随机数据记录的)
这个很难弄清楚,但它是这样的:首先创建了一个只有 WebView
的新项目,看看我是否可以重现它。我无法在那里重现它。
我切换回我的项目并将麻烦的 xib 替换为一个只包含 WebView
的新项目。我再次无法重现该问题。
接下来是更耗时的任务,即在新的 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 发行说明:
Most of the standard views and controls that AppKit and Mac OS X's other Cocoa frameworks provide are able to function in layer-backed mode in Leopard, with the exception of certain specialized views such as WebKit WebViews and Quartz Composer QCViews, whose use in layer-backed mode is not presently supported.
http://developer.apple.com/mac/library/releasenotes/cocoa/AppKitOlderNotes.html#Animation - "New View Animation Facilities, and Layer-Backed View Drawing" 部分的最后一段
我在 OS X Yosemite 上遇到 WebView
滚动条的问题。 WebView
在 XIB 文件中设置,保留默认设置。然后加载内容:
[self.webView.mainFrame loadHTMLString:html baseURL:nil];
但是在滚动时我看到 redrawing/flickering/flashing 滚动条问题:example video。 (这种情况发生在各种内容上,我只是用这个随机数据记录的)
这个很难弄清楚,但它是这样的:首先创建了一个只有 WebView
的新项目,看看我是否可以重现它。我无法在那里重现它。
我切换回我的项目并将麻烦的 xib 替换为一个只包含 WebView
的新项目。我再次无法重现该问题。
接下来是更耗时的任务,即在新的 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 发行说明:
Most of the standard views and controls that AppKit and Mac OS X's other Cocoa frameworks provide are able to function in layer-backed mode in Leopard, with the exception of certain specialized views such as WebKit WebViews and Quartz Composer QCViews, whose use in layer-backed mode is not presently supported.
http://developer.apple.com/mac/library/releasenotes/cocoa/AppKitOlderNotes.html#Animation - "New View Animation Facilities, and Layer-Backed View Drawing" 部分的最后一段