Tabbar图标像素化

时间:2014-04-16 00:52:55

标签: ios pixel tabbar

使用此代码

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测试像素化。使用更大(宽度和高度)的图像不适合正确因为只能看到它的一部分。有没有办法可以将这些较大的图像拉伸到特定的宽度和高度,以便看到它的整个部分?

2 个答案:

答案 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