我在 ios
应用程序中工作,我需要自定义 tabbar
使其类似于 this
首先我在导航 Controller 中创建了 5 个 viewcontrollers
然后将它们放入 tabbbarcontroller
我用谷歌搜索了这个问题并找到了解决方案
[self.tabBarItem setFinishedSelectedImage:<#(UIImage *)#> withFinishedUnselectedImage:<#(UIImage *)#>]
但它适用于 iOS 5,我需要适用于 iOS 4 和 iOS 5 的解决方案。
最佳答案
对于 ios4 中的自定义标签栏不可用的代码,您需要为我们制作自定义标签栏,您可以引用此 Que。
How to Customize the tabbarcontroller
或者你也可以像这样制作完整的标签栏图像来做简单的逻辑
这里我在 appdel 上创建了一个 ImageView did finish 方法并在应用程序中这样做。
self.imgV.frame=CGRectMake(0, 431, 320, 49);
[self.tabbarcontroller.view addSubview:self.imgV];
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
NSUInteger index=[[tabBarController viewControllers] indexOfObject:viewController];
NSString *deviceType = [UIDevice currentDevice].model;
NSLog(@"Device%@",deviceType);
if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad){
// self.imgV.frame=CGRectMake(0, 975, 768, 49);
//[self.tabbarcontroller.view addSubview:self.imgV];
switch (index) {
case 0:
self.imgV.image=[UIImage imageNamed:@"reservation_tab~iPad.png"];
break;
case 1:
self.imgV.image=[UIImage imageNamed:@"place_order_tab~iPad.png"];
break;
case 2:
self.imgV.image=[UIImage imageNamed:@"location_tab~iPad.png"];
break;
case 3:
self.imgV.image=[UIImage imageNamed:@"favorite_tab~iPad.png"];
break;
case 4:
self.imgV.image=[UIImage imageNamed:@"signature_dishes_tab~iPad.png"];
break;
case 5:
self.imgV.image=[UIImage imageNamed:@"history_tab~iPad.png"];
break;
case 6:
self.imgV.image=[UIImage imageNamed:@"contact_us_tab~iPad.png"];
break;
default:
break;
}
}
else{
switch (index) {
case 0:
self.imgV.image=[UIImage imageNamed:@"reservation_tab.png"];
break;
case 1:
self.imgV.image=[UIImage imageNamed:@"place_order_tab.png"];
break;
case 2:
self.imgV.image=[UIImage imageNamed:@"location_tab.png"];
break;
case 3:
self.imgV.image=[UIImage imageNamed:@"favorite_tab.png"];
break;
case 4:
self.imgV.image=[UIImage imageNamed:@"gallery_tab.png"];
break;
default:
break;
}
}
return YES;
}
关于objective-c - 带有图像的 ios 标签栏自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13247687/