2014-03-05 45 views
0

我试图将图像加载到UITabBarItem中,并且在UITabBarController中查看这是我的window.rootViewController。你可以看到我在我的代码中究竟做了什么,我有三组图像,我不在乎它们在哪里,但我希望能够访问至少一组套件。我想one,twothree是我加载的图像,我尝试了一些选项和组合,但它们都没有工作,现在使它加载一个空白(全黑)?像我假设意味着它有麻烦读取该文件,但发现它(而不是什么我已经收到了,这是完全空白的)UIImage/UITabBarItem没有正确加载图像

请参考以下图片:

  1. 我的代码(目前)
  2. 我的项目
  3. 输出结果

顺便说一句的结构,它应该是装载的图像是数字的图形表示“1”,“ 2“和”3“。它们当然不是黑色/灰色/蓝色矩形。

我希望这是明确的!谢谢!

Picture of window for clarity! The output, for clarity!

回答

0

从文献:

在运行iOS 4或更高版本的设备,该行为是相同的,如果 设备的屏幕具有1.0的比例。如果屏幕的比例为2.0,,则此方法首先搜索具有相同文件名的图像文件 并附加@ 2x后缀。例如,如果文件的名称是 按钮,它首先搜索按钮@ 2x。如果它找到一个2倍,它将加载 该映像并将返回的UIImage对象 的scale属性设置为2.0。否则,它加载未修改的文件名并将比例 属性设置为1.0。有关支持具有不同比例因子的图像的 的更多信息,请参阅iOS应用程序编程指南。

在iOS 4及更高版本中,如果文件采用PNG格式,则不需要指定.PNG文件扩展名。在iOS 4之前,您的 必须指定文件扩展名。

您可以在UIImage *one =行设置断点,并逐步查看图像一,二,三的值。如果值为零,请检查图像名称是否正确,如果不正确,请尝试以下代码:

NSArray *items = @[[[UITabBarItem alloc] initWithTitle:@"First" image:one tag:1], 
        [[UITabBarItem alloc] initWithTitle:@"Two" image:two tag:2] 
        [[UITabBarItem alloc] initWithTitle:@"Three" image:three tag:3]]; 
self.tbc.tabBar.items = items; 
+0

UIImages不是零,它仍然给我灰色的矩形。 –

+0

也许是图像的类型,你可以使用PNG图像,并尝试? – simalone

+0

我试过使用PNG。仍然不起作用。 –