iOSとH 5が交互にH 5で輪番を作る
5276 ワード
H 5インタラクションではスライドキャストがよく使われますが、スライドキャストはH 5でどのように実現されますか?くだらないことは言わないで、どうすればいいかを説明する前に下の効果図を見てください.
インタラクション方式
本明細書で使用するH 5のインタラクションは、サードパーティ製ライブラリ
H 5ページのスライドショーの作成方法
HTMLページで完了する作業
1.
2.クリックするボタンとボタンの設定方法H 5のswiperライブラリを導入し(注:このライブラリを人に引かなければページに表示される効果を完成できない)、輪番を表示する位置を設定する
3.ボタンをクリックしてHTMLページをiOS に す を する
4.iOS からHTMLページへの の
(1) されるデータはJSONの であるべきであり、 するフォーマットに ってデータを する(2)データに づいてCellのフォーマットを し、Cellにクリック を する(ここでは に したidを する)
}
})
})
5.セルのクリック を する
6. のスタイル、 を する
OCコントローラで する がある
1.HTMLページをロードして
2.HTMLに すデータをJSON に
3.HTMLへのデータ
のすべてのステップが すると、 きな が られます.を します.
この が の に に つことを んで、Demoは をダウンロードします:Demo
インタラクション方式
本明細書で使用するH 5のインタラクションは、サードパーティ製ライブラリ
WebViewJavascriptBridge
を使用することであり、具体的な使用方法は、前に書いたiOSとH 5がインタラクションするWebViewJavascriptBridgeを参照することができる.H 5ページのスライドショーの作成方法
HTMLページで完了する作業
1.
WebViewJavascriptBridge
に加入しなければならないコードの一部を加入するfunction setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }
if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }
window.WVJBCallbacks = [callback];
var WVJBIframe = document.createElement('iframe');
WVJBIframe.style.display = 'none';
WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
document.documentElement.appendChild(WVJBIframe);
setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)
}
2.クリックするボタンとボタンの設定方法H 5のswiperライブラリを導入し(注:このライブラリを人に引かなければページに表示される効果を完成できない)、輪番を表示する位置を設定する
...
// :class ,
3.ボタンをクリックしてHTMLページをiOS に す を する
function GetData() {
window.WebViewJavascriptBridge.callHandler('GetData')
}
4.iOS からHTMLページへの の
(1) されるデータはJSONの であるべきであり、 するフォーマットに ってデータを する(2)データに づいてCellのフォーマットを し、Cellにクリック を する(ここでは に したidを する)
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); }
if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); }
window.WVJBCallbacks = [callback];
var WVJBIframe = document.createElement('iframe');
WVJBIframe.style.display = 'none';
WVJBIframe.src = 'wvjbscheme://__BRIDGE_LOADED__';
document.documentElement.appendChild(WVJBIframe);
setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)
}
setupWebViewJavascriptBridge(function(bridge){
bridge.registerHandler('GetDataList', function(data, responseCallback) {
var jsonObj = JSON.parse(data);
for(var i = 0;i'
+''
+''+jsonObj[i].name+''
+''+jsonObj[i].index+''
+'![](' + jsonObj[i].index + )'
+''+'
')}
})
})
5.セルのクリック を する
function TouchCell(name) {
alert(' '+name)
}
6. のスタイル、 を する
body {
background: #eee;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color:#000;
margin: 0;
padding: 0;
}
.swiper-container {
width: 100%;
height: 420px;
margin: 20px auto;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
OCコントローラで する がある
1.HTMLページをロードして
WebViewJavascriptBridge
を する#import "WebViewJavascriptBridge.h"
...
@property (nonatomic, strong) WebViewJavascriptBridge *bridge;
...
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@" Demo" ofType:@"html"]]]];
self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView];
[self.bridge registerHandler:@"GetData" handler:^(id data, WVJBResponseCallback responseCallback) {
}];
2.HTMLに すデータをJSON に
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:nil];
NSString *str = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
3.HTMLへのデータ
[self.bridge callHandler:@"GetDataList" data:str];
のすべてのステップが すると、 きな が られます.を します.
この が の に に つことを んで、Demoは をダウンロードします:Demo