iOS支持的應(yīng)用內(nèi)顯示網(wǎng)頁的方法有多種,有的還會自動提供下方的工具欄,這里說明最簡單的一種:使用WebView來快速實(shí)現(xiàn)應(yīng)用內(nèi)顯示網(wǎng)頁內(nèi)容。
UIWebView是iOS自帶的一種瀏覽網(wǎng)頁的UI控件,我們在.m文件中創(chuàng)建一個實(shí)例:
@interface ViewController ()
@property (nonatomic, strong) UIWebView *webView;
@end
然后在viewDidLoad方法中初始化這個WebView實(shí)例,并設(shè)置其要訪問的網(wǎng)站的URL,然后將其添加到視圖中去:
- (void)viewDidLoad {
[super viewDidLoad];
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREENWIDTH, SCREENHEIGHT)];
NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
[self.view addSubview: self.webView];
[self.webView loadRequest:request];
}
這樣其實(shí)就完成了,非常簡單快捷。
但是其實(shí)在iOS 9下還有一個問題,那就是iOS默認(rèn)要求所有訪問必須基于https協(xié)議,所以現(xiàn)在直接運(yùn)行會訪問失敗,解決方法是在Info.plist文件中添加支持http協(xié)議的聲明,方法如下:
我們右鍵Info.plist文件,選擇Open as Source Code,添加如下代碼:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
或者也可以直接在plist列表中添加Dictionary格式的NSAppTransportSecurity,然后在其下添加Boolean格式的Allow Arbitrary Loads,并設(shè)為YES。
這樣我們的app就可以支持http協(xié)議了,再次運(yùn)行即可正常訪問URL鏈接的網(wǎng)頁了,如下圖所示:
image
可以在這里下載我的示例工程:https://github.com/Cloudox/WebViewDemo