【发布时间】:2013-05-09 09:12:11
【问题描述】:
我有一个这样创建的 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];
这甚至不起作用。
希望这一切都有意义.. 任何帮助将不胜感激。
【问题讨论】:
-
所以我在 UISubView 上加载 UIButtons,这就是给我带来麻烦的原因。我试图找出调用图像以使其工作的最佳时间。如果我在 viewDidLoad 中为 UIButton 分配一个基本图像,它工作得很好。但问题是我必须等待我的 NSDictionary 的信息,这是在加载主视图之后导致麻烦。
标签: ios uiimageview uibutton nsmutablearray