对于每个TabBar项目,我都有一个简单的设计:
我发现了关于如何更改整个选项卡背景的不同文章,如下所示:
UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"];
[[UITabBar appearance] setBackgroundImage:tabBarBackground];我找到了每一张图片,但这并不能填满整个标签:
[[tabBarController.tabBar.items objectAtIndex:0] setFinishedSelectedImage:[UIImage imageNamed:@"tabbaritem.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tabbaritem.png"]];发布于 2014-05-02 06:54:35
UITabBarItem *tab1 = [[UITabBarItem alloc] init];
tab1.image = [[UIImage imageNamed:@"home_icon.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
tab1.selectedImage = [[UIImage imageNamed:@"home_icon_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];发布于 2014-05-02 07:13:13
更好的方法是创建一个subClass of UITabBarController
到changeBackGround颜色,
self.tabBar.backgroundColor = [UIColor redColor];对于tintColor
self.tabBar.barTintColor = [UIColor greenColor];在“init”方法本身。
For seetTitle
创建一个数组
//title
titleArray = [[NSMutableArray alloc]initWithObjects:@"Title 1",@"Title 2",@"Title 3", nil];
//image array
NSArray *imageArray = @[image1,image2,image3];
for (int i = 0; i< imageArray.count; i++)
{
UINavigationController *nav = [self.viewControllers objectAtIndex:i];
[nav.tabBarItem setTitle:[titleArray objectAtIndex:i]];
//You can adjust title position by adjust `titlePositionAdjustment`
nav.tabBarItem.titlePositionAdjustment = UIOffsetMake(0, -15);
//for add image on tabbr item for ios 7
nav.tabBarItem.image = [[imageArray objectAtIndex:i]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
}在ios 6上添加图像
nav.tabBarItem.image = [imageArray objectAtIndex:i];在ios 7中检索选定的图像
nav.tabBarItem.image = [imageArray objectAtIndex:i];适用于ios 6
nav.tabBarItem.selectedImage = [imageArraySelected objectAtIndex:i];调整图像EdgeInset
nav.tabBarItem.imageInsets = UIEdgeInsetsMake(14,0.0, -14,-2);用于添加标题Attibutes
[nav.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],NSForegroundColorAttributeName,[UIFont fontWithName:@"Helvetica-Bold" size:14.0f],NSFontAttributeName, nil] forState:UIControlStateNormal];发布于 2014-05-02 06:47:06
你可以这样做
UIImage *tabBackground = [[UIImage imageNamed:@"tabbg.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UITabBar appearance] setBackgroundImage:tabBackground];
UITabBarItem *tabBarItem1 = [tabbar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabbar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabbar.items objectAtIndex:2];
tabBarItem1.title = @"one";
tabBarItem2.title = @"Two";
tabBarItem3.title = @"Three";
[tabbar setSelectedItem:[tabbar.items objectAtIndex:0]];
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"one.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"one_active.png"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"Two".png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Two_active.png"]];
[tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"Three.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Three_active.png"]];https://stackoverflow.com/questions/23422279
复制相似问题