詳解iOS與H5的交互問題
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
iOSH5因其及時(shí)響應(yīng)的更新速度媲美著需求的速度和較高的趣味性受到越來越多的用戶的青睞。目前,大多數(shù)的應(yīng)用中都嵌入了H5。優(yōu)點(diǎn)非常明顯。那么在iOS應(yīng)用中如何嵌入一個(gè)H5,并且和它進(jìn)行交互就成了一個(gè)勢(shì)必要掌握的技術(shù)了。本文我將結(jié)合我在項(xiàng)目中的一些需求整理出對(duì)應(yīng)的技術(shù)點(diǎn),僅供參考。
在iOS開發(fā)中,H5的嵌入可以通過UIWebView或者WKWebView。這兩個(gè)都是繼承UIView,來加載web數(shù)據(jù)的類。UIWebView是在iOS2的時(shí)候開始使用的。特點(diǎn)是加載速度慢,占用內(nèi)存多,優(yōu)化艱難。WKWebView是在iOS8蘋果新推出的,加載速度快,占用內(nèi)存較少,是一個(gè)不錯(cuò)的選擇。如果想要比較兩者的區(qū)別,您可以選擇一個(gè)網(wǎng)頁(yè)進(jìn)行測(cè)試一下。鑒上所述,我們選擇WKWebView進(jìn)行開發(fā)。好了,廢話不多說了。
1
WKWebView創(chuàng)建和加載
- (void)createWebView
{
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]
// 根據(jù)需要去設(shè)置對(duì)應(yīng)的屬性
WKWebView *webView = [[WKWebView alloc]initWithFrame:self.view.bounds configuration:config];
webView.navigationDelegate = self;
?。踫elf.view addSubview:webView];
NSURL *url = [NSURL URLWithString:self.strURL];
?。踫elf loadWebViewWithURL:url]; // JS調(diào)用OC 添加處理腳本
[self.webView.configuration.userContentController addMessageHandler:self name:@“Share”];
}
2
JS調(diào)用OC代碼
?。踫elf.webView.configuration.userContentController addMessageHandler:self name:@“Share”];
這是利用WKWebView的一個(gè)新特性MessageHandler來處理JS調(diào)用原生方法。要實(shí)現(xiàn)JS調(diào)用iOS原生方法,步驟見下。
添加《WKMessageHandler》協(xié)議。讓控制器成為MessageHandler的代理對(duì)象。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
詳解iOS與H5的交互問題下載
相關(guān)電子資料下載
- iOS17.1可能明天發(fā)布,iOS17.1主要修復(fù)哪些問題? 377
- 雙極鎖存霍爾開關(guān)AH542用于電動(dòng)窗簾,過壓保護(hù)高達(dá)40V 99
- 華為全新鴻蒙蓄勢(shì)待發(fā) 僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)應(yīng)用 719
- 蘋果手機(jī)系統(tǒng)iOS 17遭用戶質(zhì)疑 731
- iPhone12輻射超標(biāo)?蘋果推送iOS 17.1解決此事 750
- 傳華為囤積零部件 目標(biāo)明年智能手機(jī)出貨7000萬部;消息稱 MiOS 僅限國(guó)內(nèi),小米 28208
- 蘋果推送iOS17.0.3,解決iPhone15Pro系列存在機(jī)身過熱 216
- Testin云測(cè)兼容和真機(jī)服務(wù)平臺(tái)中上線iPhone 15系列手機(jī) 208
- 利爾達(dá)推出搭載HooRiiOS的Matter模組 145
- 運(yùn)放參數(shù)解析:輸入偏置電流(Ibias)和失調(diào)電流(Ios) 128