【问题标题】:animating an image in UIWebView在 UIWebView 中为图像设置动画
【发布时间】:2012-02-09 10:10:00
【问题描述】:
我在 Flipboard 应用程序上看到了这一点,它们基本上在 UIWebView 中有一个图像,然后当您点击该图像时,它会将您带到全屏,您可以通过捏合来放大/缩小。我的问题基本上是关于如何创建像他们所拥有的那样的动画,似乎 UIWebView 上的图像是动画的。如果您有一个应用程序,请尝试通过翻转板进入您的 Facebook 提要并触摸图像,您就会明白我的意思。以下是第一个和最后一个视图的截图:
通常在 Web 视图中,这些图像存储为链接,需要执行一些下载以提取该图像并向其添加手势识别器。他们怎么做的这么快?
【问题讨论】:
标签:
iphone
objective-c
ios
ipad
uiwebview
【解决方案1】:
您正在谈论的 UI 部分(带有图像的顶部)不是 UIWebView。它有自己的某种自定义 UIView 显示内容的预告片。底部淡出部分是原文章的 UIWebView。
我想象实现的方式是在图像上设置一个点击手势识别器,并在点击时将图像的缩小版本动画化为屏幕的完整尺寸。
处理点击手势的代码可能如下所示(非常非常简单):
-(void)_imageTapOccured:(UITapGestureRecognizer *)gesture {
[UIView animateWithDuration:2.0 animations:^{
imageView.frame = CGRectMake(0.0f, 0.0f, widthOfScreen, heightOfScreen);
}];
}
然后他们也可能会处理点击以将图片更改回原始大小:
-(void)_imageTapAtFullScreen:(UITapGestureRecognizer *)gesture {
[UIView animateWithDuration:2.0 animations:^{
imageView.frame = originalRectSize;
}];
}