いつもお世話になっております。
以前から作成しているPagingMenuControllerを用いたウェブアプリのことでまたまたご質問がございます。
(決して全部聞けばいいやなどと考えておりません、、)
↓↓pagingMenuController↓↓
https://github.com/kitasuke/PagingMenuController/blob/master/README.md
↓↓参考サイト↓↓
https://nobuhiroharada.com/2018/01/28/swift4-pagingmenu/
参考サイトを実装し各タブにドメインは一緒だが違うディレクトリのURLを設置しています。
↓↓例↓↓
赤:https://hogehoge.com/AAA/index.php
青:https://hogehoge.com/BBB/index.php
黄:https://hogehoge.com/CCC/index.php
上記のタブにNavigationBarを設置しそこにハンバーガーメニューを設置しました。
ハンバーガーメニューを押したら、presentでハンバーガーメニュー用のClass「MenuViewController」に遷移し、一覧を表示します。
ここまでが基本情報で下記から本題の質問です、、
(分からないことがあれば随時追記します。)
例えば今見ている画面が、赤タブだった場合、URLは「https://hogehoge.com/AAA/index.php」ですが、ハンバーガーメニューのサンプルを選択した場合下記のような状態にして、「赤クラス」にあるIBoutletのWKWebViewに値を渡しdismissした後にそのサンプルのURLが見れるようにしたいです。
↓↓例↓↓
赤タブを見ていてタップしたら:https://hogehoge.com/AAA/sample.php
青タブを見ていてタップしたら:https://hogehoge.com/BBB/sample.php
黄タブを見ていてタップしたら:https://hogehoge.com/CCC/sample.php
自分が考えたプログラムが下記です。
全く見当違いなことしているかもしれません。
MenuViewController
1let TODO:[[String]] = [ 2 ["サンプル","sample.php"], 3 ["一覧","list.php"], 4 ["詳細","view.php"], 5 ] 6 7func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 8 return TODO.count 9} 10 11func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 12 // セルを取得する 13 let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 14 // セルに表示する値を設定する 15 cell.textLabel?.text = self.TODO[indexPath.row][0] 16 17 tableView.tableFooterView = UIView() 18 return cell 19} 20func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 21 22 print("(TODO[indexPath.row][0])") 23 24 switch self.title { 25 case "赤クラス": 26 let val:String = "https://hogehoge.com/AAA/" + TODO[indexPath.row][1] 27 28 let redURL = URL(string: val) 29// //総合サイトをリクエスト 30 let urlRequest = URLRequest(url: redURL!, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 0) 31 32 let hoge:UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 33 34 let menuViewController = hoge.instantiateViewController(withIdentifier: "赤ストーリボードID") 35 36 if let hogehoge0 = menuViewController as? 赤クラス{ 37 let v = hogehoge0.view 38 hogehoge0.赤クラスIBoutlet.load(urlRequest) 39 dismiss(animated: false, completion: nil) 40 } 41 break 42 case "青クラス": 43 print(self.title) 44 45 break 46 case "黄クラス": 47 print(self.title) 48 break 49 default: 50 print(self.title) 51 break 52 } 53 54 }
MenuViewControllerから「赤クラス」のWKWebViewに値を投げてdismissする仕方がわかりません、、
どなたか解決策をお願いします。
回答1件
あなたの回答
tips
プレビュー