天天看點

swift 中使用tabbar 來控制viewController跳轉

  1. 在swift中通過 storyboard或者程式設計的方法 來實作一個 UITabBarController 進行各個UIViewController進行切換

    相關閱讀:http://makeapppie.com/2014/09/09/swift-swift-using-tab-bar-controllers-in-swift/

  2. 前面那個方法是放在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