このように作成した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 / キー値のペアの対応する値に応じて、どの UIImage を配列に入れるかを決定します。
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];
これは機能しません。
うまくいけば、これはすべて理にかなっています..どんな助けでも大歓迎です。