-
在swift中通過 storyboard或者程式設計的方法 來實作一個 UITabBarController 進行各個UIViewController進行切換
相關閱讀:http://makeapppie.com/2014/09/09/swift-swift-using-tab-bar-controllers-in-swift/
-
前面那個方法是放在AppDelegate中實作的。而現實項目中可能有需要在某個界面上,點選一個按鈕,彈開一個包含有UITabBar的視圖,然後在各個ViewController之間進行切換
主要思路是:
- 建立一個繼承UITabBarController類 ,并且實作委UITabBarDelegate
//
// ChartViewController.swift
// iLiveTraffic
//
// Created by 徐澤宇 on 15/8/14.
// Copyright (c) 2015年 徐澤宇. All rights reserved.
//
import UIKit
class ChartTabBarController: UITabBarController,UITabBarDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {
NSLog("tabbar item 被點選")
switch item.tag{
case :
//是退出按鈕
self.dismissViewControllerAnimated(true, completion: nil)
case :
NSLog("點選圖表1")
case :
NSLog("點選圖表2")
case :
NSLog("點選圖表3")
case :
NSLog("點選圖表4")
default:
NSLog("未知按鈕")
}
}
}
- 在storyboard中建立UITabBarController和各個UIViewController之間的關系
swift 中使用tabbar 來控制viewController跳轉 - 在需要打開這個UITabBarController 地方彈開這個TabBarController
var chartTabBarController: ChartTabBarController! = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("chartTabBarController") as! ChartTabBarController
presentViewController(chartTabBarController, animated: true, completion: nil)
相關閱讀:
http://blog.csdn.net/totogo2010/article/details/7700291