为了解释这个问题,我对Objective-C和Xcode非常陌生。我现在只学习了一个星期左右,但我已经坚持了几天这个问题。我试图在UIButton中显示图像。我有3个可供选择,blue.png,purple.png和orange.png。无论我做什么或者我告诉Xcode使用什么图像,它都只显示蓝色图像。我完全删除了项目中的图像。我在iOS模拟器中“重置了内容和设置”。到底发生了什么?
the.h code
IBOutlet UIButton *h1;
the.m code
UIImage *buttonImage = [UIImage imageNamed:@"purple.png"];
[h1 setImage:buttonImage forState:UIControlStateNormal];
[self.view addSubview:h1];
无论我在引号中指定哪个图像,它总是使用blue.png,即使项目中不再存在图像。感谢大家的帮助!
答案 0 :(得分:2)
您必须将blue.png
设置为storyboard或xib文件中的背景图片。写NSLog(@"%@",buttonImage)以确保图像不是nil。确保输入正确的名称和扩展名purple.png
并使用
[h1 setBackgroundImage:buttonImage forState:UIControlStateNormal];
而不是setImage
答案 1 :(得分:1)
我认为首先你应该知道不同的button.image和button.backgroundImage。
使用Image(currentImage)字段,您可以指定图像 出现在按钮的内容中。如果按钮有标题, 此图像显示在其左侧,并以其他方式居中。
Background(currentBackgroundImage)字段允许您指定 图像显示在按钮内容后面并填充整个框架 按钮。
因此您可以根据需要使用setImage或setBackgroundImage。