`

[IOS]如何使用gif(UIWebView),高清动图不崩溃

    博客分类:
  • IOS
阅读更多

一般有很多种方法,一般是以下三种:

1.是用第三方框架

2.用UIWebView

3.用动画播放多张图

 

这里主要说第二种:

读取gif:

NSString *imageName = [[NSString alloc] initWithFormat:@"t%d_xxxh",i + 1];
NSString *pathEnd = [[NSBundle mainBundle] pathForResource:imageName ofType:@"gif"];
NSData *data = [NSData dataWithContentsOfFile:pathEnd];

 用UIWebView加载:

webView.frame = CGRectMake(width/10, 5, width/5*4, width/5*4);
webView.scalesPageToFit = YES;
webView.scrollView.scrollEnabled  = NO;
[webView loadData:data MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
webView.backgroundColor = [UIColor clearColor];
webView.opaque = NO;
[view addSubview:webView];

 

为什么选择webview,因为用第三方框架发现加载高清图很容易导致crash,用webview会避免这个问题

 

怎么禁止webview缩放:

1.继承delegate:UIScrollViewDelegate

webView.scrollView.delegate = self;

 2.核心,禁用了scrollview的手势

- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{
    [scrollView.pinchGestureRecognizer setEnabled:NO];
    [scrollView.panGestureRecognizer setEnabled:NO];
}

 

 

参考:

https://stackoverflow.com/questions/25553711/disable-magnification-gesture-in-wkwebview?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

分享到:
评论

相关推荐

    iOS开发之UIWebView

    这篇博客文章“iOS开发之UIWebView”可能详细介绍了如何在iOS项目中使用UIWebView以及其相关的一些实践技巧。 UIWebView的主要功能包括加载HTML、CSS、JavaScript等Web资源,执行JavaScript代码并与Objective-C或...

    IOS自定义请求uiwebview的loading框

    然而,UIWebView在加载网页的过程中,没有内置的loading提示效果,这可能导致用户在等待网页加载时感到困惑或不耐烦。因此,自定义一个加载指示器是非常必要的,以提供更好的用户体验。本文将详细介绍如何在iOS应用...

    iOS WKWebView和UIWebView自适应高度

    在处理自适应高度时,UIWebView有一个`estimatedContentHeight`属性,但这个属性并不总是准确,因此通常我们需要监听`UIWebView`的`webViewDidFinishLoad:`代理方法。在这个方法中,可以通过`...

    IOS UIWebView Demo

    【标题】:“IOS UIWebView Demo”是一个iOS应用开发中的实例,它主要展示了如何在iOS应用中集成和使用UIWebView组件来加载和展示网页内容。UIWebView是Apple iOS SDK提供的一种原生控件,用于在iOS应用程序内部显示...

    iOS WKWebView和UIWebView高度自适应

    在iOS应用开发中,UIWebView和WKWebView是两种常见的用于展示网页内容的组件。它们都是UIKit框架的一部分,允许开发者在iOS应用中嵌入HTML、CSS和JavaScript内容。然而,这两个组件在性能、安全性和功能上有显著的...

    IOS--UIWebView加载进度条(NJKWebViewProgress)

    然而,UIWebView在加载网页时默认并不会显示加载进度,这可能会给用户带来不友好的体验,尤其是在网络环境较差的情况下。为了解决这个问题,开发者通常会自定义一个进度条来显示加载进度,提高用户体验。本教程将...

    ios UIWebView使用

    尽管UIWebView功能强大,但在iOS 8及更高版本中,推荐使用WKWebView,因为它提供了更好的性能和安全性。WKWebView使用WebKit框架,对现代Web标准支持更好,而且在沙盒环境中运行JavaScript,提供了更好的隔离。 ...

    ios-完美的UIWebView.zip

    总之,这个资料包对于想要深入理解iOS中网页视图展示的开发者来说是非常有价值的,无论是对于还在使用UIWebView的老项目进行优化,还是新项目中直接采用WKWebView,都能从中获取实用的知识和经验。通过学习和实践,...

    angular-ios9-uiwebview-patch:Bower和NPM支持IgorMinar的Angular 1.2.0-1.4.5的iOS9补丁

    通过使用这个补丁,开发者可以确保他们的AngularJS应用在iOS 9设备上的用户体验不受影响,避免因为平台兼容性问题导致的用户体验下降或应用崩溃。 压缩包文件名“angular-ios9-uiwebview-patch-master”暗示了这是...

    ios-UIWebView简易浏览器

    UIWebView提供了与WKWebView类似的功能,但在iOS 8之后,Apple推荐使用性能更好的WKWebView。 2. **初始化与加载网页** 创建UIWebView首先需要实例化,并将其添加到视图层级中。这通常在UIViewController的`...

    swift-ios富文本(图文混排):支持图片文字GIF表情

    要在iOS中显示GIF,可以使用第三方库,如`FLAnimatedImage`,它优化了GIF的播放性能。首先,你需要将GIF数据转换成`UIImage`,然后使用`YYText`或自定义的`UIImageView`来显示。 8. **自定义UIView实现** 如果...

    iOS UIWebView URL拦截.pdf

    但是,UIWebView本身并不支持直接加载本地资源。为了实现这一需求,文中提出了通过URL拦截的方法来解决。 首先,我们需要了解iOS中的URL Loading System,这是一个系统级别的网络请求框架,UIWebView正是利用这个...

    IOS之UIWebView的使用(基本知识)共7页.pdf

    本资料“IOS之UIWebView的使用(基本知识)共7页.pdf”深入浅出地讲解了如何在iOS应用中集成并使用UIWebView。 一、UIWebView的基本概念 UIWebView是UIKit框架的一部分,主要负责加载和显示网络内容。它可以加载HTTP...

    unity uiwebview 上架IOS被拒 解决办法

    ITMS-90809: Deprecated API Usage - New apps that...Unity IOS审核被拒,解决办法,去网上看了好多帖子,据说2017版本之后没有问题,我用的是5.6版本的,不想升级版本,换了一个环境说不定问题更多。解决办法在附件。

    ios-封装UIWebVIew和WKWebView优化webview性能.zip

    将UIWebVIew和WKWebView封装到一起,当系统版本大于8.0时候选择WKWebView降低性能消耗,当小于8.0时候使用UIWebView进行加载 1、将项目中的根目录中的“ZLCWebView源文件”中的ZLCWebView.h及m拖入工程(或直接在...

    iOS UIWebView的缓存

    为了解决这个问题,我们可以利用iOS的缓存机制来存储UIWebView加载过的数据,包括图片和文字,以便在网络不可用时仍然能够显示内容。本文将深入探讨如何实现UIWebView的缓存功能,以确保离线状态下应用仍能正常运行...

    angular-ios9-uiwebview:IOS9中AngularJS的补丁

    标题中的"angular-ios9-uiwebview"是指针对这个特定问题的解决方案,即一个专门为解决AngularJS在iOS 9的UIWebView中运行不顺畅而编写的补丁。 首先,我们需要理解AngularJS和UIWebView之间的冲突。AngularJS是一个...

    实例详解IOS开发之UIWebView

    iOS开发之UIWebView 是本文要介绍的内容,UIWebView是iOS sdk中一个最常用的控件。是内置的浏览器控件,我们可以用它来浏览网页、打开文档等等。这篇文章我将使用这个控件,做一个简易的浏览器。如下图: 我们创建...

    UIWebView使用

    同时,UIWebView在iOS 13之后被弃用,建议使用WKWebView,它提供了更好的安全性和性能。 2. 性能:UIWebView加载网页时会消耗大量内存和CPU资源,因此在不需要时应将其移除以释放资源。此外,WKWebView在处理复杂...

    iOS-UIWebview缓存并保证实时性

    在iOS开发中,UIWebView是用于展示网页内容的重要组件,然而在处理大量数据或网络状况不稳定的情况下,如何实现UIWebView的缓存并确保信息的实时性是一个常见的挑战。本篇文章将深入探讨这个问题,并提供一种解决...

Global site tag (gtag.js) - Google Analytics