iOS UIWebView

关于UIWebView的一些事:
http://www.cocoachina.com/applenews/devnews/2012/1123/5167.html
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;   
}  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。