前提・実現したいこと
swift言語でiOSアプリを実装しています。
タブ切り替えで表示するページを作成しているのですが、そのタブの数が動的です。
タブのセットについてはできるのですが、タブをタップした際のイベントを動的にする方法が
思いつかない状況です。
動的なタブに対してイベント処理をする良い方法をご教示いただけますと幸いです。
お手数おかけしますが、お力を貸してください。
追記:タブのセットについて誤っていたため修正しました。
追追記:APIの戻り値を格納する部分を追記しました。
該当のソースコード
swift
1import UIKit 2 3class ViewController: UIViewController, UITabBarDelegate { 4 5 var iWidthScreen:CGFloat = 0.0 6 var iHeightScreen:CGFloat = 0.0 7 8 var tabBar = UITabBar() 9 var arrTabItems:[UITabBarItem] = [] 10 var aData:[[Any]] = [] 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 15 // 画面サイズを取得する 16 iWidthScreen = self.view.frame.size.width 17 iHeightScreen = self.view.frame.size.height 18 19 // Tabの設置 20 tabBar = UITabBar() 21 tabBar.frame = CGRect(x: 0, y: 45, width: iWidthScreen, height: 30) 22 tabBar.barTintColor = UIColor.black 23 tabBar.unselectedItemTintColor = UIColor.gray 24 tabBar.tintColor = UIColor.red 25 26 // APIから情報取得 27 //self.aDataに情報を格納 28 29 // Tabの設定 30 // APIから取得した情報の数分、Tabを設置 31 for i in 0..<infos.count { 32 let tab:UITabBarItem = UITabBarItem(title: "", image: nil, tag: i) 33 arrTabItems.append(tab) 34 } 35 myTabBar.items = arrTabItems 36 myTabBar.delegate = self 37 38 self.view.addSubview(myTabBar) 39 } 40 41 // ↓↓ ここの実装方法に悩んでいます ↓↓ 42 func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) { 43 let data = self.aData[item.tag] 44 45 switch item.tag{ 46 case 1: 47 default : return 48 } 49 } 50}
補足情報(FW/ツールのバージョンなど)
MacOS HighSierra
Xcode 10.1
Swift 3.1
回答1件
あなたの回答
tips
プレビュー