我的问题可能很简单,但解决方案让我感到厌烦。
我有一个嵌入在NSView中的WebView,并加载了一些内容。我想添加一个简单的淡入淡出过渡(点击一下按钮),2秒后只消失,WebView再次显示原始内容。
我不知道我是否可以通过Interface Builder在WebView中执行此操作,或者我需要以编程方式使用图层和CATransition。
到目前为止,我尝试过不同的变体:
[m_pView setWantsLayer:YES];
CATransition *transition = [CATransition animation];
transition.duration = 2;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade;
[ [m_pView layer] addAnimation:transition forKey:nil];
我得到的只是从视图中删除原始内容并将其替换为空白。我想我错误地使用了图层,也许它们根本不需要解决我的问题。
任何人都可以帮我这个吗?
答案 0 :(得分:1)
不支持在图层支持的视图上使用WebView
。这只在Leopard发行说明中有所概述,但在10.6中仍然如此。
你需要做一些杂耍才能让它发挥作用,最有可能的方法是将WebView
换成NSImageView
,其中包含WebView
内容的屏幕截图,然后逐渐消失将WebView
换回新内容。