我有一个大小为100的tabBar图标。
我在2013年的《苹果人机界面指南》中进行了检查,并说图像尺寸应为30x30
/ 60x60
。
但是当标签栏控制器的高度为50时,我将图像的大小保持为50x50
。
现在,当我运行项目时,我看到下面的丑陋设计:
知道要使用什么尺寸的图像才能使设计完美吗?
注意:我也不在写文本(例如,主页,搜索等)。标签按钮的文本位于图像本身中。
我有一个大小为100的tabBar图标。
我在2013年的《苹果人机界面指南》中进行了检查,并说图像尺寸应为30x30
/ 60x60
。
但是当标签栏控制器的高度为50时,我将图像的大小保持为50x50
。
现在,当我运行项目时,我看到下面的丑陋设计:
知道要使用什么尺寸的图像才能使设计完美吗?
注意:我也不在写文本(例如,主页,搜索等)。标签按钮的文本位于图像本身中。
Answers:
30x30是点,表示30px @ 1x,60px @ 2x,而不是介于两者之间。另外,将选项卡的标题嵌入图像也不是一个好主意-这样您将很难获得可访问性和本地化结果。
根据最新的《Apple人机界面指南》:
在纵向方向上,选项卡栏图标显示在选项卡标题上方。在横向模式下,图标和标题并排出现。根据设备和方向,系统会显示常规或紧凑的标签栏。您的应用应包括两种尺寸的自定义标签栏图标。
我建议您使用上面的链接来了解完整的概念。因为苹果会定期更新文档
参考:https : //developer.apple.com/ios/human-interface-guidelines/graphics/custom-icons/[https://developer.apple.com/ios/human-interface-guidelines/graphics/custom-icons /]。
因此,50x50尺寸是一个不错的选择。
根据我的实践,我将40 x 40用于标准iPad标签栏项目图标,将80 X 80用于视网膜。
如果要创建与iOS 7图标系列相关的条形图标,请使用很细的笔触来绘制它。具体来说,2像素笔画(高分辨率)适用于详细的图标,而3像素笔画则适用于较不详细的图标。
无论图标的视觉样式是什么,都可以创建以下尺寸的工具栏或导航栏图标:
约44 x 44像素约22 x 22像素(标准分辨率)不管图标的视觉样式如何,创建以下尺寸的标签栏图标:
标准分辨率约50 x 50像素(最大96 x 64像素)约25 x 25像素(最大48 x 32像素)
使用代码前请先赞许!!!创建一个图像,该图像完全覆盖每个项目的整个选项卡栏项目。要使用您创建的图像作为标签栏项目按钮,这是必需的。确保每个标签栏项目的高宽比也相同。然后:
UITabBarController *tabBarController = (UITabBarController *)self;
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];
int x,y;
x = tabBar.frame.size.width/4 + 4; //when doing division, it may be rounded so that you need to add 1 to each item;
y = tabBar.frame.size.height + 10; //the height return always shorter, this is compensated by added by 10; you can change the value if u like.
//because the whole tab bar item will be replaced by an image, u dont need title
tabBarItem1.title = @"";
tabBarItem2.title = @"";
tabBarItem3.title = @"";
tabBarItem4.title = @"";
[tabBarItem1 setFinishedSelectedImage:[self imageWithImage:[UIImage imageNamed:@"item1-select.png"] scaledToSize:CGSizeMake(x, y)] withFinishedUnselectedImage:[self imageWithImage:[UIImage imageNamed:@"item1-deselect.png"] scaledToSize:CGSizeMake(x, y)]];//do the same thing for the other 3 bar item