1. 程式人生 > >Xcode中不用Storyboard,用純xib建立TabBar模式檢視

Xcode中不用Storyboard,用純xib建立TabBar模式檢視

大熊貓豬·侯佩原創或翻譯作品.歡迎轉載,轉載請註明出處.
如果覺得寫的不好請多提意見,如果覺得不錯請多多支援點贊.謝謝! hopy ;)

如果要開發Tab型別檢視的App,在Xcode中可以使用對應的模板

這裡寫圖片描述

該模板自然使用的是Storyboard那一套東東,為了更清楚的瞭解xib佈局,我們下面不用Storyboard模板來打造一個TabBar檢視的App.

第一步:建立Single View App

開啟Xcode,選擇Single View App模板,建立新專案.然後將專案中的所有storyboard檔案刪除,同時將ViewController類刪除.

第二步:清除啟動介面

將專案中的關於啟動介面的部分清空:
這裡寫圖片描述

你還可以將info.plist檔案中對應的2個屬性刪掉,不過貌似不刪也可以

第三步:新建UIViewController檢視

選擇新建Cocoa Touch Class,選擇新類名為RedVC,繼承於UIViewController,選擇建立xib檔案.開啟RedVC.m檔案,新增如下方法:

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if
(self) { self.title = @"Red"; UIImage *image = [UIImage imageNamed:@"2.png"]; CGImageRef imageRef = image.CGImage; self.tabBarItem.image = [[UIImage imageWithCGImage:imageRef scale:2 orientation: UIImageOrientationDown] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]; } return
self; }

類似的再建立2個類,分別為GreenVC和WhiteVC,同樣甚至對應的上述方法,並做適當調整.

第四步:修改App啟動方法

開啟AppDelegate.m檔案,按如下程式碼修改方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    UIViewController *vc1 = [[WhiteVC alloc]initWithNibName:@"WhiteVC" bundle:nil];
    UIViewController *vc2 = [[RedVC alloc]initWithNibName:@"RedVC" bundle:nil];
    UIViewController *vc3 = [[GreenVC alloc]initWithNibName:@"GreenVC" bundle:nil];

    _tabBarController = [UITabBarController new];
    _tabBarController.viewControllers = @[vc1,vc2,vc3];

    [self.window setRootViewController:_tabBarController];

    [self.window makeKeyAndVisible];


    return YES;
}

OK我們基本上完成了,編譯執行App效果如下:

這裡寫圖片描述