使用此代码
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
tabBarItem1.title = @"Home";
tabBarItem2.title = @"Maps";
tabBarItem3.title = @"My Plan";
tabBarItem4.title = @"Settings";
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home.png"]];
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"maps_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"maps.png"]];
[tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"myplan_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"myplan.png"]];
[tabBarItem4 setFinishedSelectedImage:[UIImage imageNamed:@"settings_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"settings.png"]];
工作正常..但是,当我使用这个图像时,它看起来像真正的iphone测试像素化。使用更大(宽度和高度)的图像不适合正确因为只能看到它的一部分。有没有办法可以将这些较大的图像拉伸到特定的宽度和高度,以便看到它的整个部分?
答案 0 :(得分:2)
遵循 iOS Human Interface Guidelines 中列出的尺寸。此外,请勿指定.png,因为您希望能够考虑非视网膜和视网膜图像(w / @ 2x)。
答案 1 :(得分:0)
在iOS 6或更早版本中,如果您想创建一个尺寸为32x32的按钮,您可以使用这些像素尺寸制作PNG,并将其命名为Button.png
然后当视网膜屏幕出现时,你开始需要制作2个资产 Button.png和Button @2x.png @ 2x资产是64x64像素。
使用iOS7及更高版本时,无需同时使用这两种资产。你只需使用视网膜@ 2x资产。
将所有图片资源放入资产目录可以更轻松。因此,当您使用代码中的@ 2x资产时,不应编写.png扩展名。
例如:
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home_selected"]...
注意:当您从Storyboard引用资产@ 2x资产时,您只能写出没有@ 2x的资产名称。
例如:对于名为home_selected@2x.png
的文件,在StoryBoard
中,您会写home_selected.png