WebView的使用

UIWebView是iOS sdk中一個(gè)最常用的控件。是內(nèi)置的瀏覽器控件乡范,我們可以用它來瀏覽網(wǎng)頁、打開文檔等等啤咽,UIWebView能夠加載html/htm晋辆、pdf、docx宇整、txt等格式的文件

UIWebView:->UIView同時(shí)遵守了滾動(dòng)的協(xié)議

loadRequest:加載請(qǐng)求

NSURLRequest:請(qǐng)求類用于設(shè)置網(wǎng)絡(luò)請(qǐng)求相關(guān)信息如:網(wǎng)址瓶佳、傳的內(nèi)容、請(qǐng)求頭...

NSURL:路徑每個(gè)內(nèi)容都有一個(gè)在萬維網(wǎng)中唯一的路徑

掛代理:<UIWebViewDelegate>

1.在viewDidLoad里面

self.edgesForExtendedLayout=UIRectEdgeNone;

myWebView= [[UIWebViewalloc]initWithFrame:[UIScreenmainScreen].bounds];

myWebView.delegate=self;

myWebView.scalesPageToFit=YES;

myWebView.allowsInlineMediaPlayback=YES;

[self.viewaddSubview:myWebView];

self.navigationItem.leftBarButtonItem= [[UIBarButtonItemalloc]initWithTitle:@"返回"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(gotoBack)];

self.navigationItem.rightBarButtonItem= [[UIBarButtonItemalloc]initWithTitle:@"下一頁"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(next)];

indicatorView= [[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

indicatorView.center=self.view.center;

[self.viewaddSubview:indicatorView];

NSString*path = [[NSBundlemainBundle]pathForResource:@"123"ofType:@"pdf"];

[selfloadWithURL:[NSURLURLWithString:@"http://www.chinacaipu.com/menu/dianxinshipin/118481.html"]];


- (void)loadWithURL:(NSURL*)url{

NSURLRequest*request = [NSURLRequestrequestWithURL:url];

[myWebViewloadRequest:request];?}

- (void)gotoBack{

[myWebViewgoBack];?}

- (void)next{

[myWebViewgoForward];?}

開始加載請(qǐng)求

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{

[indicatorViewstartAnimating];?returnYES;?}

加載完成

- (void)webViewDidFinishLoad:(UIWebView*)webView{

[indicatorViewstopAnimating];?}

加載失敗

- (void)webView:(UIWebView*)webView didFailLoadWithError:(nullableNSError*)error{

if([errorisEqual:[NSNullnull]] !=YES) {

UIAlertAction*reloadAction = [UIAlertActionactionWithTitle:@"重新加載"style:UIAlertActionStyleDefaulthandler:^(UIAlertAction*_Nonnullaction) {

[selfloadWithURL:[NSURLURLWithString:@"https://www.baidu.com"]];?}];

UIAlertAction*cancelAction = [UIAlertActionactionWithTitle:@"取消"style:UIAlertActionStyleCancelhandler:^(UIAlertAction*_Nonnullaction) {?}];

NSString*errorMessage =@"";

if(error.code== -1009) {

errorMessage =@"網(wǎng)絡(luò)連接錯(cuò)誤";?}

UIAlertController*alert = [UIAlertControlleralertControllerWithTitle:@"加載錯(cuò)誤"message:errorMessagepreferredStyle:UIAlertControllerStyleAlert];

[alertaddAction:reloadAction];

[alertaddAction:cancelAction];

[selfpresentViewController:alertanimated:YEScompletion:nil];

NSLog(@"%@",error.userInfo);?}}




前往下一頁:goForward

self.navigationItem.rightBarButtonItem= [[UIBarButtonItemalloc]initWithTitle:@"下一頁"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(next)];

返回上一頁:goBack?

self.navigationItem.leftBarButtonItem= [[UIBarButtonItemalloc]initWithTitle:@"返回"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(gotoBack)];

scalesPageToFit讓加載的內(nèi)容自適應(yīng)設(shè)備

webView可以通過代理方法檢測(cè)加載內(nèi)容的狀態(tài)

// 是否允許播放內(nèi)鏈視頻 在手機(jī)上默認(rèn)是NO

myWebView.allowsInlineMediaPlayback=YES;




代理方法

網(wǎng)頁開始加載的時(shí)候調(diào)用

-(void)webViewDidStartLoad:(UIWebView *)webView

網(wǎng)頁加載完成的時(shí)候調(diào)用

-(void)webViewDidFinishLoad:(UIWebView *)webView

網(wǎng)頁加載出錯(cuò)的時(shí)候調(diào)用

-(void)webView:(UIWebView )webView didFailLoadWithError:(NSError )error

網(wǎng)頁中的每一個(gè)請(qǐng)求都會(huì)被觸發(fā)這個(gè)方法鳞青,返回NO代表不執(zhí)行這個(gè)請(qǐng)求(常用于JS與iOS之間通訊)

-(BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末霸饲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子臂拓,更是在濱河造成了極大的恐慌厚脉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胶惰,死亡現(xiàn)場(chǎng)離奇詭異傻工,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)童番,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門精钮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剃斧,你說我怎么就攤上這事『瞿悖” “怎么了幼东?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我根蟹,道長脓杉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任简逮,我火速辦了婚禮球散,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘散庶。我一直安慰自己蕉堰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布悲龟。 她就那樣靜靜地躺著屋讶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪须教。 梳的紋絲不亂的頭發(fā)上皿渗,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音轻腺,去河邊找鬼乐疆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贬养,可吹牛的內(nèi)容都是我干的挤土。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼煤蚌,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼耕挨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起尉桩,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤筒占,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蜘犁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體翰苫,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年这橙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奏窑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡屈扎,死狀恐怖埃唯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鹰晨,我是刑警寧澤墨叛,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布止毕,位于F島的核電站,受9級(jí)特大地震影響漠趁,放射性物質(zhì)發(fā)生泄漏扁凛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一闯传、第九天 我趴在偏房一處隱蔽的房頂上張望谨朝。 院中可真熱鬧,春花似錦甥绿、人聲如沸字币。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纬朝。三九已至,卻和暖如春骄呼,著一層夾襖步出監(jiān)牢的瞬間共苛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國打工蜓萄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隅茎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓嫉沽,卻偏偏與公主長得像辟犀,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绸硕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一. 創(chuàng)建: 二. 加載方式: 常用的網(wǎng)頁加載方式 加載html格式的內(nèi)容(html文件中加載和html格式字...
    fjytqiu閱讀 4,868評(píng)論 0 11
  • 在上一篇中我們說了WebView的基本使用安卓開發(fā)之WebView的使用(1)堂竟,里面提到了WebViewClien...
    Reathin閱讀 2,668評(píng)論 0 14
  • WebView簡介 String getUrl():獲取當(dāng)前頁面的URL。 reload():重新reload當(dāng)前...
    QM閱讀 3,079評(píng)論 0 52
  • WebView 目前android市場(chǎng)上的一些應(yīng)用采用的開發(fā)方式大致分為三種: Hybrid App中實(shí)現(xiàn)的主要技...
    Reathin閱讀 2,006評(píng)論 1 9
  • 小時(shí)候憧憬自己長大玻佩,做自己喜歡做的事出嘹,長大了,總想著生活是自己的咬崔,想活出自己的樣子税稼,所以每天幻想著如何過好這一天。...
    艾夢(mèng)小妹閱讀 249評(píng)論 0 0