StoryBoard用TabBar的oc、swift雙語寫法

對于我這個入門級小白來說研究了老半天才將oc的tabbar寫法翻譯成swift寫法·····廢話不多說現在開始。
我的思路是讓tabbarcontroller做四個navigationcontroller的容器。
首先把工程里的mainstoryboard里的頁面刪掉,拖一個tabbarcontroller控件進來,并在右側屬性欄將該控件選擇為初始頁面(以initial·········為開頭的選項)
然后建立第一個頁面的storyboard,并將里面的navigationcontroller(沒有的話就拖一個進來)設置成初始頁面(和tabbarcontroller設置一樣)并再拖一個tabbaritem(tabbar的按鈕)到該navigationcontroller下。后面的個頁面也是如此照做。代碼都在appdelegate里寫的。下面是代碼

oc代碼(四個頁面):

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    UITabBarController *tab =[[UIStoryboard storyboardWithName:@"Main"
        bundle:nil]instantiateInitialViewController];
    UINavigationController * first = [[UIStoryboard storyboardWithName:@"First" bundle:nil]
            instantiateInitialViewController];
    UINavigationController * second = [[UIStoryboard storyboardWithName:@"Second" bundle:nil]
            instantiateInitialViewController];
    UINavigationController * third = [[UIStoryboard storyboardWithName:@"Third" bundle:nil]
            instantiateInitialViewController];
    UINavigationController * fouth = [[UIStoryboard storyboardWithName:@"Fouth" bundle:nil]
            instantiateInitialViewController];


    tab.viewControllers = @[first,second,third,fouth];
    self.window.rootViewController = tab;
}

swift代碼(這個是五個頁面的):

import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
   
   
    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        // MARK: - Action
        
        let tab:(UITabBarController) = UIStoryboard.init(name: "Main", bundle: nil).instantiateInitialViewController()as!UITabBarController

        let first:(UINavigationController) = UIStoryboard.init(name: "First", bundle: nil).instantiateInitialViewController()as!UINavigationController
        
        let second:(UINavigationController) = UIStoryboard.init(name: "Second", bundle: nil).instantiateInitialViewController()as!UINavigationController
        
        let third:(UINavigationController) = UIStoryboard.init(name: "Third", bundle: nil).instantiateInitialViewController()as!UINavigationController
        
        let fourth:(UINavigationController) = UIStoryboard.init(name: "Fourth", bundle: nil).instantiateInitialViewController()as!UINavigationController
        
        let fifth:(UINavigationController) = UIStoryboard.init(name: "Fifth", bundle: nil).instantiateInitialViewController()as!UINavigationController
            tab.viewControllers = [first,second,third,fourth,fifth]
        self.window?.rootViewController = tab

        return true
    }

結束語:
本人編程剛上路的級別·····由于工作需要所以要學會swift,現在兩門語言同時啃·····如果哪里寫的不好望大神們賜教。小編我在這謝謝了!我非常想快速進步學習

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 1.rows分析 rows分析:根據表的統計信息及索引的選用情況,大致計算出找出所需的記錄所需要讀取的行數 2.索...
    糖紙瘋了閱讀 1,709評論 0 0
  • 七月中旬的某一天和朋友出去吃飯,她說她買了一張機票,去西寧的,但是現在猶豫了到底要不要去了。那是在期末周時買的,她...
    塰里閱讀 548評論 0 2
  • 煩惱放下成菩提,心情轉念即晴天
    米老鼠的六月天閱讀 199評論 0 0