美文网首页
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

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