Objective c 为什么[UIImage ImageName]显示的是蓝色矩形而不是我的图像?

Objective c 为什么[UIImage ImageName]显示的是蓝色矩形而不是我的图像?,objective-c,xcode,ios7,Objective C,Xcode,Ios7,我正在尝试使用导航栏中按钮的图像。它似乎正在查找图像,因为当我运行应用程序时,有一个蓝色矩形,大致与我的图像大小相同,位于导航栏按钮的中心位置。当我点击它时,为按钮指定的动作就会发生。但为什么不显示图像?这是我的密码: UIImage *image = [UIImage imageNamed:@"newTweetSmall"]; [self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:ima

我正在尝试使用导航栏中按钮的图像。它似乎正在查找图像,因为当我运行应用程序时,有一个蓝色矩形,大致与我的图像大小相同,位于导航栏按钮的中心位置。当我点击它时,为按钮指定的动作就会发生。但为什么不显示图像?这是我的密码:

UIImage *image = [UIImage imageNamed:@"newTweetSmall"];
[self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleBordered target:self action:@selector(newTweet)];
我也试过了

UIImage *image = [UIImage imageWithContentsOfFile:@"newTweetSmall"];
但这似乎根本找不到图像,因为导航栏中根本没有蓝色的大矩形,也没有按钮

这是我的项目结构,以防万一。我也尝试过使用“Resources/newweetsmall”作为图像的路径,但结果也没有图像或按钮


你的代码是正确的。尝试使用带有alpha通道的png图像

这肯定能解决你的问题


如果希望确信文件已加载到内存,请检查image变量中的值。如果加载了image,则此变量不能为零。

是否尝试使用Images.xcsets方式而不是直接使用resources文件夹?否。我这样做是为了学习Xcode/iOS编程,所以我不知道您在说什么-哈,好吧,我的意思是,在你的截图中你有图像.xcsets。您可以将图像添加到该对象中并使用[UIImage ImageName:@newweetsmall]。我已经这样做了。没有变化。我还编辑了这个问题,试图将它升级到使用.png而不是.jpg的最新版本。给我这个文件的链接,当图像没有alpha通道时,蓝色矩形出现,我不认为是这样;我将图像加载到GIMP中,添加Alpha通道的选项被禁用,这使我相信它确实有Alpha通道。该文件没有Alpha通道。