在我的一个项目中,我只使用了一个 UIWebView。当我用另一个内容重新加载我的 webView 时,我需要一个动画(例如翻转)......是否可以创建一个翻转动画(或类似的东西)?我必须创建一个假控制器才能得到它?解决方案?谢谢
问问题
648 次
2 回答
3
您始终可以+transitionWithView:duration:options:animations:completion:
使用 Web 视图执行该方法。
[UIView transitionWithView:self.webView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent animations:
^{
[self.webView loadHTMLString:@"<strong>Hello world</strong>" baseURL:nil];
} completion:^(BOOL finished)
{
}];
这种方法基本上是一种说法:“以动画方式更改此视图的内容”。所以它拍摄当前状态的快照,执行动画(可以是翻转、卷曲等),然后插入新状态的快照。
但是请注意,我使用UIViewAnimationOptionAllowAnimatedContent
了 ,这会强制动画不使用快照来获取视图的新状态,因为设置loadHTMLString
不会立即更改视图,因此我们需要强制它使用视图的实时上下文而不是快照。
iOS 中的天气应用程序(7 之前)使用类似的方法在单击底部的“i”时在当前天气和其他地区/选项的选择器之间切换。
于 2013-07-14T03:44:58.313 回答
2
我认为您不需要为此创建控制器。您可以简单地添加类似的内容:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.80];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:yourView cache:YES];
[UIView commitAnimations];
于 2013-07-16T11:23:31.340 回答