2015-07-18に投稿

cocos2d-jsにてiOSでWebViewを表示する

cocos2d-jsのiOSの方でWebViewを表示する方法。
ダイアログ、ポップアップ、ウィンドウ、モーダル、等
色々検索結果に迷うと思うが多分ここではモーダルが正しいと思う。

cocos2d-jsで検索したら情報は少なかったのだが、
単純にモーダルでWebViewを表示するだけの方法であればよく見つかるし 
普通のやり方だと思う。

まず、Xcodeにて、表示するモーダルウィンドウのレイアウトを
storyboardを使用して作成する。
今回はWebView.storyboardとして作成し、
中にWebViewControllerというViewを作成した。
ViewControllerにこのWebViewControllerを割り当て、
Storyboard IDにもWebViewControllerと名前をつけておく。

あとはRootViewControllerに下記を追加し、
js側から呼び出せば表示される。

|objc|
+ (void)showWebView:(NSString )url {
UIViewController
controller = [UIApplication sharedApplication].keyWindow.rootViewController;

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"WebView" bundle:[NSBundle mainBundle]];
WebViewController *initialViewController = [storyboard instantiateViewControllerWithIdentifier:@"WebViewController"];
[initialViewController setUrl:url];
[controller presentViewController:initialViewController animated:YES completion:nil];

}
||

setUrlはWebViewControllerにURL設定用のメソッドを追加しただけ。
WebViewController側のWebView表示部分は下記のような感じ。

|objc|
- (void)viewDidLoad {
[super viewDidLoad];

_mButton.layer.borderColor = [UIColor grayColor].CGColor;
_mButton.layer.borderWidth = 1.0f;
_mButton.layer.cornerRadius = 7.5f;

NSURL* url = [NSURL URLWithString: mUrlString];
NSURLRequest* myRequest = [NSURLRequest requestWithURL: url];
[self.mWebView loadRequest:myRequest];

}
||

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント