Dou*_*ith 5 objective-c gif uiwebview uiimage ios
当用户选择GIF时,我想在显示GIF的所有内容上显示叠加层.
我知道在iOS上有几种方法可以做到这一点.有很好的UIImage + animatedGIF可以很好地工作,但是对于更长的GIF,它们非常慢并且不能以与UIWebView相同的速度播放(以准确的播放速度播放).
它很糟糕,因为如果那个类别没有慢慢播放它会做我需要的一切.
但事实并非如此,所以我尝试使用UIWebView,但是我对三件事感到困惑:
如何在呈现时显示UIWebView的大小(其框架)?我是否必须首先下载GIF作为UIImage然后检查其size属性?有没有更好的方法(可能需要一段时间)?
如何阻止它播放直到满载为止?
有了上面的类别,因为它只是一个UIImage,当我在滚动视图中将它作为UIImageView嵌入时,它很容易放大和缩小.这可以通过UIWebview实现吗?
1.
我想到的第一个解决方案是将 webview 的背景设置为清晰的颜色,并在加载完成后将其放置在正确的位置。通常我使用
[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"]
但如果您将 webview 定向到 gif url,那么这将不起作用。
2.
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
webView.alpha = 1;
}
Run Code Online (Sandbox Code Playgroud)
这样,只有在 gif 完全加载后,UIWebView 才会显示给用户。
3.
[webView setScalesPageToFit:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2334 次 |
| 最近记录: |