我有一个像我这样创建的UIImages数组
UIImage *tButtonImage = [UIImage imageNamed:@"button-measurement.png"];
UIImage *tPButtonImage = [UIImage imageNamed:@"button-parts.png"];
UIImage *oPButtonImage = [UIImage imageNamed:@"button-onboard.png"];
UIImage *dButtonImage = [UIImage imageNamed:@"button-opening.png"];
//然后根据NSDicitonary / keyvalue对的相应值,决定将哪些UIImages放入我的数组中
NSMutableArray *arrayOfButtonImages = [[NSMutableArray alloc] init];
if ([hasInfoSetIDString isEqualToString:@"T"]) {
[arrayOfButtonImages addObject:tButtonImage];
}
if ([hasTSetIDString isEqualToString:@"T"]) {
[arrayOfButtonImages addObject:tPButtonImage];
}
if ([hasOSetIDString isEqualToString:@"T"]) {
[arrayOfButtonImages addObject:oPButtonImage];
}
if ([hasDSetIDString isEqualToString:@"T"]) {
[arrayOfButtonImages addObject:dButtonImage];
}
根据我的NSDictionary中的值,我可能有一个看起来像这样的数组。
NSLog(@"%@", arrayOfButtonImages);
(
"<UIImage: 0x2001f4c0>",
"<UIImage: 0x1ed51c20>"
)
然后我尝试将这些图像应用到我拥有的按钮上,因此每个按钮都是“动态”按钮。
if (arrayOfButtonImages != nil) {
for (int i = 0; i < [arrayOfButtonImages count]; i++) {
if (i == 0) {
[jumpButton1P setImage:[arrayOfButtonImages objectAtIndex:i] forState:UIControlStateNormal];
}
else if (i == 1) {
[jumpButton2P setImage:[arrayOfButtonImages objectAtIndex:i] forState:UIControlStateNormal];
}
else if (i == 2) {
[jumpButton3P setImage:[arrayOfButtonImages objectAtIndex:i] forState:UIControlStateNormal];
}
else if (i == 3) {
[jumpButton4P setImage:[arrayOfButtonImages objectAtIndex:i] forState:UIControlStateNormal];
}
else if (i == 4) {
[jumpButton5P setImage:[arrayOfButtonImages objectAtIndex:i] forState:UIControlStateNormal];
}
}
}
所以说完了之后,图像没有出现在我的UIButton上..我已经检查过以确保UIButton变量与Interface Builder中的UIBUtton对象相关联..但是仍然出现了问题。
我甚至只是尝试了一个简单的
UIImage *btnImage1 = [UIImage imageNamed:@"diagram-P.png"];
[jumpButton1P setImage:btnImage1 forState:UIControlStateNormal];
这个dosnt甚至可以工作。
希望这一切都有道理......任何帮助都会非常感激。
答案 0 :(得分:2)
尝试设置backgroundImage:
[jumpButton1P setBackgroundImage:[UIImage imageNamed:@"diagram-P"] forState:UIControlStateNormal];
答案 1 :(得分:0)
在Interface Builder中设置按钮类型=“自定义”或手动设置后再次测试:
UIButton *btnOne = [UIButton buttonWithType:UIButtonTypeCustom];
然后调用setImage或setBackgroundImage
希望有所帮助
答案 2 :(得分:0)
不要听起来多余,但您确认图像对象确实与您的项目相关联吗?在Project Navigator中按下项目,选择您的应用程序目标,按Build Phases选项卡,然后展开“Copy Bundle Resources(x items)”部分。
另外,请确保所有图片都列在那里,并且项目旁边的文件路径正确(指向您的项目,而不是桌面/图片文件夹或其他内容)。