1. 程式人生 > >iOS使用WebView簡單地應用內顯示網頁

iOS使用WebView簡單地應用內顯示網頁

iOS支援的應用內顯示網頁的方法有多種,有的還會自動提供下方的工具欄,這裡說明最簡單的一種:使用WebView來快速實現應用內顯示網頁內容。

UIWebView是iOS自帶的一種瀏覽網頁的UI控制元件,我們在.m檔案中建立一個例項:

@interface ViewController ()

@property (nonatomic, strong) UIWebView *webView;

@end
  • 1
  • 2
  • 3
  • 4
  • 5

然後在viewDidLoad方法中初始化這個WebView例項,並設定其要訪問的網站的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]; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

這樣其實就完成了,非常簡單快捷。

但是其實在iOS 9下還有一個問題,那就是iOS預設要求所有訪問必須基於https協議,所以現在直接執行會訪問失敗,解決方法是在Info.plist檔案中新增支援http協議的宣告,方法如下:

我們右鍵Info.plist檔案,選擇Open as Source Code,新增如下程式碼:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key
>
<true/> </dict>
  • 1
  • 2
  • 3
  • 4
  • 5

或者也可以直接在plist列表中新增Dictionary格式的NSAppTransportSecurity,然後在其下新增Boolean格式的Allow Arbitrary Loads,並設為YES。 
這樣我們的app就可以支援http協議了,再次執行即可正常訪問URL連結的網頁了,如下圖所示:

可以在這裡下載我的示例工程:https://github.com/Cloudox/WebViewDemo

版權所有:http://blog.csdn.net/cloudox_