iOS-UIWebView

关于UIWebView的一些事传送门

1.禁止UIWebView有拖动惯性

[(UIScrollView *)[[self.webView subviews] objectAtIndex:0] setBounces:NO];

以下适用于iOS5.0以上

[detailPaperWebView.scrollView setBounces:NO];

2.设置UIWebView是按 WebView自适应大小显示,还是按正文内容的大小来显示

[webView setScalesPageToFit:YES];

YES:表示WebView自适应大小
NO:表示按正文内容的大小来显示

3.UIWebView加载HTML字符串

[webView loadHTMLString: strHTMLContent baseURL:[NSURL URLWithString:strServerUrl]];  

baseURL:桥接HTML字符串里面的图片路径.以保证图标等能够正常显示 例如:http://221.4.222.110:8078
使用此访问时需要注意:是否有访问不到的图片链接.如果有的话,UIWebView 会等请求超时时才执行委托 webViewDidFinishLoad

4.UIWebView 根据内容自动适应内容高度

在委托(webViewDidFinishLoad)中 植入以下代码:

CGSize actualSize = [webView sizeThatFits:CGSizeZero];
CGRect newFrame = webView.frame;
newFrame.size.height = actualSize.height;
webView.frame = newFrame;

5.UIWebView加载网页时

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData  timeoutInterval:1];

NSURLRequestReloadIgnoringCacheData 忽略缓存直接从原始地址下载
NSURLRequestReturnCacheDataElseLoad 只有在cache中不存在data时才从原始地址下载

6.UIWebView 背景透明 3步曲

[self.webViewHTMLEditor setBackgroundColor:[UIColor clearColor]];
[self.webViewHTMLEditor setOpaque:NO];

HTML页面 body :

7.控制UIWebView的请求委托,返回YES, WebView 会顺利去执行Url,返回NO 将可以阻止

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
{ 
//    NSURL *requestURL =[ [ request URL ] retain ]; 
//    if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ]) 
//        && ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) { 
//        return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ]; 
//    } 
//    [ requestURL release ]; 
    if (isFirstWebViewRequest) {
        isFirstWebViewRequest = NO;
        return YES;
    }else
        return NO; 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值