您的位置:首页 > 编程语言

【XCode软件编写一】用代码创建tabcontroller

2013-10-29 22:48 211 查看
要创建一个带底部tabbar 导航的视图. 先看预览图 :

第一步:

 我们需要一个 视图控制器,UITabBarController . 在UITabBarController上面我们希望下面有3个Tab选择按钮. 每个按钮点击会显示不同的View.

UITabBarController* tabBar = [[UITabBarController alloc] init];


第二步:

 初始化3个ViewController出来.

UIViewController* viewController1 = [[UIViewController alloc] init];
UIViewController* viewController2 = [[UIViewController alloc] init];
UIViewController* viewController3 = [[UIViewController alloc] init];


第三步:

 把这些viewcontroller跟tabbarcontroller关联起来

NSMutableArray* views = [NSMutableArray arrayWithObjects:viewController1, viewController2, viewController3, nil];

tabBar.viewControllers = views;

这步只是关键关系而已,我们还缺少了点击的按钮.

第四步:

 创建点击的按钮设置图片和样式

    UITabBar* bars = tabBar.tabBar;
    UITabBarItem* barItem0 = [bars.items objectAtIndex:0];
    UITabBarItem* barItem1 = [bars.items objectAtIndex:1];
    UITabBarItem* barItem2 = [bars.items objectAtIndex:2];
    barItem0.title = @"Main";
    barItem1.title = @"Test1";
    barItem2.title = @"test2";
    
    [barItem0 setFinishedSelectedImage:[UIImage imageNamed:@"mainTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"mainTab.png"]];
    [barItem1 setFinishedSelectedImage:[UIImage imageNamed:@"answerTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"answerTab.png"]];
    [barItem2 setFinishedSelectedImage:[UIImage imageNamed:@"circleTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"circleTab.png"]];


第五步:
 把这个tabbarcontroller放到我们的启动window.view上就可以了.

self.window.rootViewController = tabBar;


最后全文代码如下:

appdelegate.m

- (void) lanuch {
UITabBarController* tabBar = [[UITabBarController alloc] init];

UIViewController* viewController1 = [[UIViewController alloc] init];
UIViewController* viewController2 = [[UIViewController alloc] init];
UIViewController* viewController3 = [[UIViewController alloc] init];

NSMutableArray* views = [NSMutableArray arrayWithObjects:viewController1, viewController2, viewController3, nil];

tabBar.viewControllers = views;

UITabBar* bars = tabBar.tabBar;
UITabBarItem* barItem0 = [bars.items objectAtIndex:0];
UITabBarItem* barItem1 = [bars.items objectAtIndex:1];
UITabBarItem* barItem2 = [bars.items objectAtIndex:2];
barItem0.title = @"Main";
barItem1.title = @"Test1";
barItem2.title = @"test2";

[barItem0 setFinishedSelectedImage:[UIImage imageNamed:@"mainTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"mainTab.png"]];
[barItem1 setFinishedSelectedImage:[UIImage imageNamed:@"answerTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"answerTab.png"]];
[barItem2 setFinishedSelectedImage:[UIImage imageNamed:@"circleTab_selected"] withFinishedUnselectedImage:[UIImage imageNamed:@"circleTab.png"]];

self.window.rootViewController = tabBar;
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

[self lanuch];

self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息