uibutton (この場合は uibutton の配列) からメソッドを呼び出しています。問題は、ボタンがすぐに変更UIControlStateSelected
され、ボタンの新しい uiimage が表示されることです。画像が表示されますが、メソッドを実行した後にのみ表示されます。このメソッドは、一部のデータをダウンロードし、1 ~ 2 秒かかります。ユーザーは、メソッドが呼び出されてボタン画像の選択状態が画像を変更するまで、ボタンに触れたかどうかわからないことは明らかです。
ボタンの選択状態に使用しているコードは次のとおりです。
[catBtn setTitle:[NSString stringWithFormat:@"Button %d", i] forState:UIControlStateNormal];
[catBtn setImage:[UIImage imageNamed:[categoryBtnImages objectAtIndex:i]] forState:UIControlStateNormal];
[catBtn setTitle:@"I'm selected" forState:UIControlStateSelected];
[catBtn setImage:[UIImage imageNamed:[categoryBtnImagesSel objectAtIndex:i]] forState:UIControlStateSelected];
// NSLog(@"%@",[categoryBtnImagesSel objectAtIndex:i]);
[catBtn addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];
[catButtonArray addObject:catBtn];
これを手伝ってくれてありがとう。