在UIButton中显示图像

为了说明这个问题,我对Objective-C和Xcode非常陌生。 我现在只学习了一个星期左右,但是我一直在这个问题上停留了几天。 我正在尝试在UIButton中显示图像。 我有3种可供select,blue.png,purple.png和orange.png。 无论我做什么或者告诉Xcode使用什么图像,它只会显示蓝色的图像。 我已经完全从项目中删除了图像。 我在iOS模拟器中有“重置内容和设置”。 这到底是怎么回事?

the.h码

IBOutlet UIButton *h1; 

the.m代码

 UIImage *buttonImage = [UIImage imageNamed:@"purple.png"]; [h1 setImage:buttonImage forState:UIControlStateNormal]; [self.view addSubview:h1]; 

无论我在引号中指定哪个图像,即使图像不再存在于项目中,也始终使用blue.png。 感谢大家的帮助!

您必须在故事板或xib文件中将blue.png设置为背景图像。 写NSLog(@“%@”,buttonImage),以确保图像不是零。 确保你input了正确的名字和extension purple.png

还有,使用

 [h1 setBackgroundImage:buttonImage forState:UIControlStateNormal]; 

而不是setImage

我想首先你应该知道button.image和button.backgroundImage的区别。

使用Image(currentImage)字段,可以指定一个图像出现在button的内容中。 如果button有一个标题,则该图像显示在其左侧,否则为居中。

Background(currentBackgroundImage)字段允许您指定一个图像出现在button内容的后面,并填充button的整个框架。

所以你可以使用setImage或setBackgroundImage作为你想要的。