6/9 Tab Bar控制器

參考書目:iOS創意程式設計家



首先建立一個新專案,選擇iOS/Application/Tabbed Application。

加入一個新的View Controller視窗。並建立一個新的class,選iOS/Cocoa Touch/Objective-C class。名稱只要輸入Third就好了,繼承的類別選擇UIViewController。這樣就會增加一個名為ThirdViewController的類別。

將ThirdViewController的View Controller連接到Tab Bar上,可以按住control鈕將Tab Bar Controller拉到View controller上,然後選擇第一項Relationship-View controllers。這樣就建立了標籤。

注意到第三個視窗下面出現了item的按鈕,可以編輯名稱。

頁籤是可以改變的,可以用自己的圖,但要注意,大小必須是30x30,然後要是黑白的,不然你可以試試看會怎樣,畢竟寫這篇記錄時我還沒試過。

如果想要有彩色圖式的效果,可以這樣做,這是利用貼圖貼到頁籤控制器的上面。請修改AppDelegate.m的code:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UITabBarController *tab = (UITabBarController *) self.window.rootViewController;
    tab.delegate = self;
    // Override point for customization after application launch.
    return YES;
}

-(void) tabBarController:(UITabBarController *) tabBarController
 didSelectViewController:(UIViewController *)viewController {
    for (UIView *view in tabBarController.tabBar.subviews) {
        if ([view isKindOfClass:[UIImageView class]]) {
            [view removeFromSuperview];
        }
    }
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"Tab0%i", tabBarController.selectedIndex+1]];
    UIImageView *tab = [[UIImageView alloc] initWithImage:image];
    [tabBarController.tabBar addSubview:tab];
}

題外話,中間一度跑不出來,我把view刪掉後重弄一次又可以了,如果失敗的可以試試看這樣做。




留言