說在前面的話:
UIWebView因為其通用性裸违,在iOS開發(fā)中經(jīng)常被使用到湃鹊。比如用來在應(yīng)用內(nèi)加載某個網(wǎng)頁或HTML靜態(tài)頁面,甚至打開Word蛹尝、Excel后豫、PPT、PDF等文檔以及文本突那、圖片挫酿、音頻、視頻等等愕难,一律通吃早龟。
但是其強(qiáng)大的功能帶來的副作用還是有的惫霸。比如在使用UIWebView加載某個頁面結(jié)構(gòu)復(fù)雜的網(wǎng)頁,或是某個大型的Word文檔葱弟,然后你再放大壹店、拖動、縮小芝加。硅卢。。然后就尷尬了藏杖,內(nèi)存直接上100+M将塑,分分鐘給你崩了。
為了解決這一尷尬蝌麸,大多數(shù)人首先想到的就是“取消UIWebView的縮放手勢”点寥,因為在正常顯示和滾動的情況下內(nèi)存并不會暴增。
// 1. 首先控制器遵守UIScrollViewDelegate協(xié)議来吩;
@interface TestViewController() <UIScrollViewDelegate, UIWebViewDelegate>
// views
@property(weak, nonatomic)UIWebView *webView;
@end
// 2. 設(shè)置代理:
- (void)viewDidLoad {
[super viewDidLoad];
//設(shè)置UIWebView
UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
webView.backgroundColor = [UIColor whiteColor];
webView.scalesPageToFit = YES;
webView.delegate = self;
webView.scrollView.delegate = self;
[self.view addSubview:webView];
self.webView = webView;
//設(shè)置并開始請求
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];
[self.webView loadRequest:urlRequest];
}
// 3. 縮放回調(diào)時設(shè)置為nil:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}