UIWebView

<span style="font-size:14px;">#import "ViewController.h"

@interface ViewController ()<UIWebViewDelegate>

@property (nonatomic,strong) UIWebView * XBWebView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    self.XBWebView  = [[UIWebView alloc]initWithFrame:[UIScreen mainScreen].bounds];
    self.XBWebView.delegate = self;
    [self.view addSubview:self.XBWebView];
    //可以設置網頁內容縮小適應屏幕
    self.XBWebView.scalesPageToFit = YES;
    //WebView不僅僅可以打開網頁,也可以打開ppt,pdf格式的文件都用統一的記載方式
    
    [self.XBWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: @"http://www.baidu.com"]]];
    //也可以加載本地的html
    // [self.XBWebView loadRequest:[NSURLRequest requestWithURL:[[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]]];
    
    // 加載文件
    //    self.XBWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:@"文件路徑"]];
    
    //直接加載html字符串
    //self.XBWebView loadHTMLString:(nonnull NSString *) baseURL:(nullable NSURL *)
    
    
    
    //第一個誒參數是一個NSData, 本地文件對應的數據
    //第二個參數是MIMEType
    //第三個參數是編碼格式
    //相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。
    
    //self.XBWebView loadData:<#(nonnull NSData *)#> MIMEType:<#(nonnull NSString *)#> textEncodingName:<#(nonnull NSString *)#> baseURL:<#(nonnull NSURL *)#>
    self.XBWebView.scrollView.contentInset = UIEdgeInsetsMake(20, 0, 0, 0);//可以設置裏面的內容
    

}
//內容已經開始加載成會調用這裏
- (void)webViewDidStartLoad:(UIWebView *)webView
{
    
    // 在網頁加載完畢後 OC調用JS代碼
    [self.XBWebView stringByEvaluatingJavaScriptFromString:@"document.title"];
    
}
//加載失敗
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
    
}
//即將發送一個請求前會調用這裏,JS調用OC會在這裏,返回YES表示正常加載,NO表示攔截不在加載

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    //往往這裏不同的項目會定義自己的協議,比如在網頁上面點擊按鈕的時候,本地要執行某個事件.
    //可以根據不同的協議內容執行不同的操作
    
    NSString *url = request.URL.absoluteString;
    NSString *scheme = @"lx://";
    if ([url hasPrefix:scheme]) {
        
        //根據不同的方法進行解析
        NSString *methodName = [url substringFromIndex:scheme.length];
        //上面可能包含了多個參數,可能進行了需要自己提取成一個字典,根據字典內容執行不同的設置。
        //比如設置 設置導航欄顏色,這裏要返回NO
        
        return NO;
    }

    return YES;
}
//加載完成
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    
}
</span>


發佈了195 篇原創文章 · 獲贊 59 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章