說(shuō)在前面的話:
UIWebView因?yàn)槠渫ㄓ眯裕趇OS開發(fā)中經(jīng)常被使用到。比如用來(lái)在應(yīng)用內(nèi)加載某個(gè)網(wǎng)頁(yè)或HTML靜態(tài)頁(yè)面,甚至打開Word、Excel、PPT、PDF等文檔以及文本、圖片、音頻、視頻等等,一律通吃。
但是其強(qiáng)大的功能帶來(lái)的副作用還是有的。比如在使用UIWebView加載某個(gè)頁(yè)面結(jié)構(gòu)復(fù)雜的網(wǎng)頁(yè),或是某個(gè)大型的Word文檔,然后你再放大、拖動(dòng)、縮小。。。然后就尷尬了,內(nèi)存直接上100+M,分分鐘給你崩了。
為了解決這一尷尬,大多數(shù)人首先想到的就是“取消UIWebView的縮放手勢(shì)”,因?yàn)樵谡o@示和滾動(dòng)的情況下內(nèi)存并不會(huì)暴增。
// 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è)置并開始請(qǐng)求
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://www.baidu.com"]];
[self.webView loadRequest:urlRequest];
}
// 3. 縮放回調(diào)時(shí)設(shè)置為nil:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return nil;
}