スポンサーリンク
Swiftから動的にタブで複数画面を切り替える。
UITabBarControllerに今回は2つの画面を追加し、タブのアイコンを押すことで画面を切り替える。
切り替える元画面のコードは以下。
var memberName: String? private var window: UIWindow? private var myTabBarController: UITabBarController! override func viewDidLoad() { super.viewDidLoad() window = UIWindow(frame: UIScreen.mainScreen().bounds) //UIViewControllerをタブ数分作成してUITabViewControllerに埋め込む let firstView: UIViewController = FirstViewController() let secondView: UIViewController = SecondViewController() firstView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Featured, tag: 1)//アイコン secondView.tabBarItem = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.Bookmarks, tag: 2) let viewArr = NSArray(objects: firstView, secondView) myTabBarController = UITabBarController() myTabBarController?.setViewControllers(viewArr as! [UIViewController], animated: false) self.window!.rootViewController = myTabBarController self.window!.makeKeyAndVisible() //return true // Do any additional setup after loading the view. } }
タブで切り替える先のコードは以下。
import UIKit class FirstViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.redColor(); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
import UIKit class SecondViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.blueColor() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
以上で、タブのアイコンを押下するとそれぞれのViewController(First,Second)へ遷移することができる。
アイコンとViewControllerの数を増やせば、さらに切り替える画面を追加することもできる。
スポンサーリンク
スポンサーリンク