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は誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント