美文网首页
iOS------UIWebView

iOS------UIWebView

作者: 彬至睢阳 | 来源:发表于2017-10-21 10:35 被阅读0次

UIWebView承载页面的方式

1.第一种

UIWebView* webview = [[UIWebView alloc]init];

webview.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);

[self.view addSubview:webview];

//承载网页

NSURL* url = [NSURL URLWithString:@"http://www.jianshu.com/u/1160006c5e55"];

NSURLRequest* request = [NSURLRequest requestWithURL:url];

[webview loadRequest:request];

2.第二种(iOS9以后)

UIWebView* webview = [[UIWebView alloc]init];

webview.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height);

[self.view addSubview:webview];

NSURL* url = [NSURL URLWithString:@"http://www.jianshu.com/u/1160006c5e55"];

NSURLSession* session = [NSURLSession sharedSession];

NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

[webview loadData:data MIMEType:response.MIMEType textEncodingName:@"UTF-8" baseURL:url];

}];

[dataTask resume];

相对应属性

webView.scalespageToFit = YES;//自动对页面进行缩放以适应屏幕

webView.detectsPhoneNumbers = YES;//自动检测网页上的电话号码,单击可以拨打

注意点:

与UIWebView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号

为webView添加背景图片:

webView.backgroundColor=[UIColor clearColor];

webView.opaque=NO;//这句话很重要,webView是否是不透明的,no为透明 在webView下添加个imageView展示图片就可以了

当发生内存警告的时候可以这样处理

在AppDelegate里面

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加如下代码:

int cacheSizeMemory = 4*1024*1024; // 4MB

int cacheSizeDisk = 32*1024*1024; // 32MB

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"];

[NSURLCache setSharedURLCache:sharedCache];

}

同时加上

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{

[[NSURLCache sharedURLCache] removeAllCachedResponses];

}

这是通过将内存控制在一定的范围内并及时清空的方式解决,这样在一定程度上可以降低系统的内存用量,但是对应用本身占用量没有太大的变化

相关文章

  • iOS------UIWebView

    UIWebView承载页面的方式 1.第一种 UIWebView* webview = [[UIWebView a...

网友评论

      本文标题:iOS------UIWebView

      本文链接:https://www.haomeiwen.com/subject/nqxiuxtx.html