使用NSData initWithData的UIImage是nil

时间:2013-04-27 22:38:45

标签: ios uiimage nsdata

以下代码似乎无法加载图片。

uiTabBarItem = [[UITabBarItem alloc] init];
NSData *datatmp = [NSData dataWithContentsOfFile:@"newsicon.png"];
UIImage *tmp = [[UIImage alloc] initWithData:datatmp];
uiTabBarItem.image = tmp;

datatmp是nil(0x000000)和 图像确实存在。

2 个答案:

答案 0 :(得分:4)

予。不要重新转动轮子。请改用tmp = [UIImage imageNamed:@"newsicon.png"];

II。从文件初始化时,NSData需要完整的文件路径。以下方法可行(但无论如何你都不必使用它,正如我刚才指出的那样):

NSString *iconPath = [[NSBundle mainBundle] pathForResource:@"newsicon" ofType:@"png"];
NSData *datatmp = [NSData dataWithContentsOfFile:iconPath];

答案 1 :(得分:3)

最好通过以下方式从文件加载图像:

  [UIImage imageNamed: "newsicon.png"];