<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>
UIWebView
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.