網頁跳轉-WKWebView和SFSafariViewController詳解

1.完成網頁跳轉袒炉,我們很容易想到利用UIWebView和Safari來實現(xiàn)。其中:
  • safari自帶的功能交多樊零,前進后退我磁,刷新,進度條驻襟,網址等夺艰。但是需要跳轉 APP,必須打開系統(tǒng)自帶的safari程序來打開網頁沉衣,這樣會增大內存消耗郁副。
  • webView雖然可以不用打開新的程序來實現(xiàn)跳轉網頁的功能,但其不能真實實現(xiàn)進度條功能豌习,只能通過假數(shù)據模擬存谎。

2. IOS 8.0開始,蘋果提供了WKWebview ——webView的升級版肥隆,可以實現(xiàn)真實的進度條功能既荚。
加載中.png
加載完成.png

WKWebview 實現(xiàn)真實進度條步驟:

  • 1.通過拖控件或者代碼的方式添加一個UIProgressView,用于顯示加載進度栋艳。
  • 2.創(chuàng)建網路請求對象恰聘,利用UIProgressView對象加載該請求
/創(chuàng)建網絡請求對象
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.url]];
    //加載請求對象
    [webView loadRequest:request];
  • 3.監(jiān)聽progress的變化
[webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
    self.mineProgressView.progress = [change[@"new"]floatValue];
    //加載完成移除進度條
    self.mineProgressView.hidden = self.mineProgressView.progress >= 1;
    
}
  • 4.移除觀察者
//移除觀察者
- (void)dealloc {
    [self.webView removeObserver:self forKeyPath:@"estimatedProgress"];
}


3.SFSafariViewController (iOS 9.0)
  • 不再需要跳轉APP
  • 跳轉控制器用present,此時效果為modal,因為系統(tǒng)底層給modal的方式做了封裝吸占。
  • present方式:導航條和tabBar是safari樣式的
SFSafariViewController * safari = [[SFSafariViewController alloc]initWithURL:[NSURL URLWithString:detailPath]];
[self presentViewController:safari animated:YES completion:nil];
present方式.png
  • push 方式:導航條和tabBar是就是普通push出來的樣式
push方式.png

新View出現(xiàn)的方式都是push樣式晴叨,但是導航條和TabBar不一樣,這就說明了present方式彈出控制器是系統(tǒng)在push的方式上做了進一步封裝矾屯。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末兼蕊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子件蚕,更是在濱河造成了極大的恐慌遍略,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骤坐,死亡現(xiàn)場離奇詭異,居然都是意外死亡下愈,警方通過查閱死者的電腦和手機纽绍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來势似,“玉大人拌夏,你說我怎么就攤上這事僧著。” “怎么了障簿?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵盹愚,是天一觀的道長。 經常有香客問我站故,道長皆怕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任西篓,我火速辦了婚禮愈腾,結果婚禮上,老公的妹妹穿的比我還像新娘岂津。我一直安慰自己虱黄,他們只是感情好,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布吮成。 她就那樣靜靜地躺著橱乱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粱甫。 梳的紋絲不亂的頭發(fā)上泳叠,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音魔种,去河邊找鬼析二。 笑死,一個胖子當著我的面吹牛节预,可吹牛的內容都是我干的叶摄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼安拟,長吁一口氣:“原來是場噩夢啊……” “哼蛤吓!你這毒婦竟也來了?” 一聲冷哼從身側響起糠赦,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤会傲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拙泽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淌山,經...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年顾瞻,在試婚紗的時候發(fā)現(xiàn)自己被綠了泼疑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡荷荤,死狀恐怖退渗,靈堂內的尸體忽然破棺而出移稳,到底是詐尸還是另有隱情,我是刑警寧澤会油,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布个粱,位于F島的核電站,受9級特大地震影響翻翩,放射性物質發(fā)生泄漏都许。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一体斩、第九天 我趴在偏房一處隱蔽的房頂上張望梭稚。 院中可真熱鬧,春花似錦絮吵、人聲如沸弧烤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暇昂。三九已至,卻和暖如春伴嗡,著一層夾襖步出監(jiān)牢的瞬間急波,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工瘪校, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留澄暮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓阱扬,卻偏偏與公主長得像泣懊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子麻惶,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫馍刮、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,103評論 4 62
  • Swift版本點擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,375評論 7 249
  • 體驗匈辱、把員工對美好生活的向往作為奮斗目標,依靠全員創(chuàng)造改變全員生活品質杀迹。 精進梅誓、任何人不要損害全員的利益,不要幻想...
    馮祥林閱讀 159評論 0 0
  • 禍起于微,持崩于欲梗掰。唯有克己自律,消除雜念嗅回。方可能由內而外的超越及穗。
    cqmudhw閱讀 104評論 0 0
  • 我這一生,為了尋找全面普渡眾生的普渡大法绵载,曾經當過道士埂陆、和尚,走訪過天下許多道觀娃豹、佛寺焚虱,拜訪過許多佛道修練高...
    保衛(wèi)中華閱讀 5,100評論 1 2