iOS UIWebView用法

來源:互聯網
上載者:User

標籤:uiwebview   webview   網路   

首先建立UIWebView,這個不難,設定frame,然後添加到self.view上即可:

UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];webView.scalesPageToFit = YES;//自動對頁面進行縮放以適應螢幕[self.view addSubview:webView];
UIWebView載入網路地址

用UIWebView來載入網路地址,那我的部落格:http://blog.csdn.net/dylan_lwb_ 來舉例。代碼如下:

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blog.csdn.net/dylan_lwb_"]];[self.view addSubview:webView];[webView loadRequest:request];
UIWebView載入本地資源通過NSURLRequest載入
NSString *path = [[NSBundle mainBundle] pathForResource:@"swift" ofType:@"html"];NSURL* url = [NSURL   fileURLWithPath:path];//建立URLNSURLRequest* request = [NSURLRequest requestWithURL:url];//建立NSURLRequest[webView loadRequest:request];//載入
通過NSString載入

UIWebView 還支援將一個NSString對象作為源來載入。你可以為其提供一個基礎URL,來指導UIWebView對象如何跟隨連結和載入遠端資源:

NSString *path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];NSString *htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];[webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:path]];
自動檢測電話

設定這個屬性,如果在載入的網頁中遇到電話號碼,直接單擊就可以撥打,非常方便:

webView.dataDetectorTypes = UIDataDetectorTypePhoneNumber;//自動檢測網頁上的電話號碼,單擊可以撥打
設定代理和代理方法

UIWebView有五個代理方法,我們可以在不同的代理方法中,完成不同的需求。

//設定代理webView.delegate = self;//代理方法- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{    //返回YES,進行載入。通過UIWebViewNavigationType可以得到請求發起的原因    return YES;}- (void)webViewDidStartLoad:(UIWebView *)webView{    //開始載入,可以加上風火輪(也叫菊花)}- (void)webViewDidFinishLoad:(UIWebView *)webView{    //完成載入}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{    //載入出錯}
建立載入他、停止、後退、前進按鈕

建立四個按鈕,分別是載入按鈕、停止按鈕、返回按鈕、前進按鈕:

NSArray *array = [NSArray arrayWithObjects:@"載入",@"停止",@"返回",@"前進", nil];    int far = (SCREEN.width - 200)/5;    for (int i = 0; i < array.count; i++) {        UIButton *button = [[UIButton alloc] init];        button.frame = CGRectMake( (i + 1) * far + 50 * i, SCREEN.height - 60, 50, 40);        button.tag = 200 + i;        [button addTarget:self action:@selector(actionClick:) forControlEvents:UIControlEventTouchUpInside];        [button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];        [button setBackgroundColor:[UIColor orangeColor]];        [button setTitle:array[i] forState:UIControlStateNormal];        [self.view addSubview:button];    }
前進後退

給四個按鈕綁定事件,根據tag值來區分每一個點擊事件:

- (void)actionClick:(UIButton *)button{    switch (button.tag) {        case 200:        {            [self.webView reload];//載入        }            break;        case 201:        {            [self.webView stopLoading];//停止載入        }            break;        case 202:        {            [self.webView goBack];//返回        }            break;        case 203:        {            [self.webView goForward];//前進        }            break;        default:            break;    }}

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

iOS UIWebView用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.