UIImage / UITabBarItem无法正确加载图像

时间:2014-03-05 00:48:22

标签: ios objective-c uiimage uitabbarcontroller

我正在尝试将图片加载到UITabBarItem中,并在UITabBarController window.rootViewController中查看该图片。你可以准确地看到我在我的代码中做了什么。我有三组图像;我不关心它们的位置,但我希望能够访问至少一个集合!

我希望onetwothree成为我正在加载的图片。我尝试了很多选项和组合,但它们似乎都没有用。现在让它加载一个空白(全黑?)图像,我认为这意味着它无法读取文件,但发现它(与我之前所拥有的相反,这是完全空白的。)

请参阅以下图片:

  1. 我的代码(目前)
  2. 我项目的结构
  3. 结果输出
  4. 顺便说一下,它应该加载的图像是数字“1”,“2”和“3”的图形表示。它们肯定不是黑色/灰色/蓝色矩形。

    我希望这很清楚!谢谢!

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

1 个答案:

答案 0 :(得分:0)

来自文件:

  

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

     

在iOS 4及更高版本中,如果文件是PNG格式,则无需指定.PNG文件扩展名。在iOS 4之前,你   必须指定文件扩展名。

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

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;