iOS _WKWebView(ios8 以上)使用及h5內(nèi)部跳轉(zhuǎn)

前言:H5 漂亮妹子給了個H5鏈接缴罗,需要老衲這邊接入,使用什么呢祭埂,app支持的是iOS8 以上面氓,當(dāng)然使用WKWebView啦,方便速度又快蛆橡。為了顯得高端一點舌界,當(dāng)然需要給一個加載網(wǎng)頁的進度條,再加個H5內(nèi)部頁面跳轉(zhuǎn)泰演。

//導(dǎo)航欄設(shè)置一個h5返回按鈕和pop按鈕
UIImage *backImage = [[UIImage imageNamed:@"back"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc]initWithImage:backImage  style:UIBarButtonItemStylePlain target:self action:@selector(personBack)];
UIBarButtonItem *closeItem = [[UIBarButtonItem alloc]initWithTitle:@"關(guān)閉" style:UIBarButtonItemStylePlain target:self action:@selector(personClose)];
[closeItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]} forState:UIControlStateNormal];
self.navigationItem.leftBarButtonItems = @[backItem,closeItem];
//WKWebView
 _person_webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, LHQSCREEN_W, LHQSCREEN_H-LHQTopHeight-LHQXHeight)];
 _person_webView.scrollView.showsVerticalScrollIndicator = NO;
_person_webView.scrollView.showsHorizontalScrollIndicator = NO;
 _person_webView.navigationDelegate = self;//WKNavigationDelegate
[self.view addSubview:_person_webView];
  //進度條
_progressView = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 0, LHQSCREEN_W, 2)];
_progressView.trackTintColor = [UIColor whiteColor];
[self.view addSubview:_progressView];
 //KVO監(jiān)聽estimatedProgress屬性值變化
[_person_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew context:nil];
//鏈接請求
NSString *isLink = [NSString stringWithFormat:@"www.baidu.com"];
NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:isLink]];
[_person_webView loadRequest:urlRequest];

返回按鈕點擊觸發(fā)

#pragma mark -- WKNavigationDelegate
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
    DLog(@"1");
    NSString *url = navigationAction.request.URL.absoluteString;
    if(![url isEqualToString:link]) {
        // 頁面跳轉(zhuǎn)
    }
    decisionHandler(WKNavigationActionPolicyAllow);//實現(xiàn)H5頁面返回
}
#pragma mark -- kvo
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
{
    if ([keyPath isEqualToString:@"estimatedProgress"]) {
        
        self.progressView.progress = self.person_webView.estimatedProgress;
        // 加載完成
        if (self.person_webView.estimatedProgress  >= 1.0f ) {
            
            [UIView animateWithDuration:0.25f animations:^{
                self.progressView.alpha = 0.0f;
                self.progressView.progress = 0.0f;
            }];
            
        }else{
            self.progressView.alpha = 1.0f;
        }
    }
}

//導(dǎo)航欄 返回和關(guān)閉按鈕點擊

#pragma mark -- back and close
-(void)personBack
{
    [_person_webView goBack];
}

-(void)personClose
{
    [self.navigationController popViewControllerAnimated:YES];
}

簡單完成 ... 略略略

附:
1.今天遇到一個問題就是webKit 內(nèi)嵌的H5 呻拌,無法添加圖片上傳
問題在哪呢?
參考文章:https://www.cnblogs.com/jiajin/p/6077160.html

- (void)viewWillAppear:(BOOL)animated
{
    NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL       URLWithString:isLink]];
    [_person_webView loadRequest:urlRequest];
}

//不能把 load 放在 viewWillAppear方法中

應(yīng)當(dāng)放在ViewDIdLoad 睦焕,這樣就沒得問題了

- (void)viewDidLoad
{
    NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL         URLWithString:isLink]];
    [_person_webView loadRequest:urlRequest];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末藐握,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子复亏,更是在濱河造成了極大的恐慌趾娃,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缔御,死亡現(xiàn)場離奇詭異抬闷,居然都是意外死亡,警方通過查閱死者的電腦和手機耕突,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門笤成,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眷茁,你說我怎么就攤上這事炕泳。” “怎么了上祈?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵培遵,是天一觀的道長。 經(jīng)常有香客問我登刺,道長籽腕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任纸俭,我火速辦了婚禮皇耗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘揍很。我一直安慰自己郎楼,他們只是感情好万伤,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呜袁,像睡著了一般敌买。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上傅寡,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天放妈,我揣著相機與錄音,去河邊找鬼荐操。 笑死,一個胖子當(dāng)著我的面吹牛珍策,可吹牛的內(nèi)容都是我干的托启。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼攘宙,長吁一口氣:“原來是場噩夢啊……” “哼屯耸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹭劈,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤疗绣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后铺韧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體多矮,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年哈打,在試婚紗的時候發(fā)現(xiàn)自己被綠了塔逃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡料仗,死狀恐怖湾盗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情立轧,我是刑警寧澤格粪,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站氛改,受9級特大地震影響帐萎,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜平窘,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一吓肋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瑰艘,春花似錦是鬼、人聲如沸肤舞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽李剖。三九已至,卻和暖如春囤耳,著一層夾襖步出監(jiān)牢的瞬間篙顺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工充择, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留德玫,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓椎麦,卻偏偏與公主長得像宰僧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子观挎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,133評論 25 707
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議琴儿。它實...
    香橙柚子閱讀 23,864評論 8 183
  • 八月的淫雨伴著清曉地微風(fēng)刮過我的軍訓(xùn),我喜歡雨嘁捷,可這種喜歡有點葉公好龍的意味造成。正如走飯臨走前說“躲了一輩子的雨,雨...
    青菜螃蟹派閱讀 191評論 1 3
  • 風(fēng)停雪住后的日子,梅嶺踏雪游2014-2-17 (一) 周圍沒有人聲现诀。仿佛只有天空與我同在夷磕。一腳輕踏下去,深深的積...
    阿緣閱讀 223評論 0 0
  • 有一次在某訪談節(jié)目中仔沿,韓美林先生回應(yīng)了關(guān)于有人質(zhì)疑他的福娃造型涉嫌抄襲一事坐桩。 韓先生承認(rèn)自己是在垃圾桶的廢棄草紙中...
    尊敬的王二閱讀 1,074評論 26 44