【发布时间】:2015-10-01 14:10:26
【问题描述】:
这可能是也可能不是因为 iOS9.0.2 而遇到的问题。我有一个图像 .png 文件,我试图将其设置为我的标签栏图标之一。我可以为该图标设置其他图像,但不会设置此特定图标。这是屏幕截图:
您可以在这里看到,我清楚地将图像设置为 UITabBar 选项卡,但是当我在 iPhone 上运行它时,它完全不可见(不存在)。我假设这个 .png 文件有问题,因为我可以轻松设置其他图像。这里有什么问题?
编辑 这是我添加到 AppDelegate.m 文件中的附加代码,以确保正确的呈现模式。
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:3];
tabBarItem4.selectedImage = [[UIImage imageNamed:@"blah.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
tabBarItem4.image = [[UIImage imageNamed:@"blah.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ];
PS 我还通过 AppDelegate 以编程方式将图像添加到 tabBar 索引,但它仍然没有出现。所以请不要用程序化的答案来回答。不是问题
【问题讨论】:
-
您是否尝试更改图像渲染模式的设置?您可以通过编程方式或使用您的资产集合来执行此操作。我遇到过这种问题,图像在模板模式下 [不正确] 渲染,因此没有显示。
-
使用您的资产集合?不知道那是什么,我将如何以编程方式更改渲染模式?我正要查找问题。
-
您可以将图像添加到您的资产集合并从那里更改默认渲染模式,或者在代码中您可以使用
[[UIImage imageNamed:@"blah.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]。 Reference here. -
抱歉最后一个问题,这段代码会去哪里?由于图像本身只是包含在图像文件夹中,并且图像是在导航控制器中设置的?
-
只需使用您设置 tabBar 图像的那段代码。它将返回一个 UIImage。如果您使用资产集合(我觉得更容易),您可以在此处设置渲染模式,更改“渲染为”参数(example here),然后使用情节提要在 tabBar 上选择它。