2つのボタンでセグメント化されたコントロールのアナログを実装しようとしています。デフォルトの状態では、画像はなく、ラベルのみがあり、選択した状態では背景画像があります。TouchDownイベントでコントロールを有効にしたい。
ここにコードがあります(私はすべての不要なものを削除しました):
-(IBAction) onButton1
{
button1.selected = YES;
button2.selected = NO;
}
-(IBAction) onButton2
{
button1.selected = NO;
button2.selected = YES;
}
問題は次のとおりです。button1が選択されていると仮定します。button2をタッチすると、その画像は「選択された」画像に変更されません(前述のように、デフォルトの画像はありません)が、指を離すと変更されます。また、すでに選択されているボタンをタッチすると、「選択された」画像が削除され、離すと元に戻ります。
ボタンの強調表示された状態を設定したので、ボタンはその状態で画像を「選択」しましたが、それは役に立ちませんでした(IBだけでなく[button setBackgroundImage:[UIImage imageNamed:@"selected.png"] forState:UIControlStateHighlighted];
)。私はadjustsImageWhenHighlighted=NOを設定しましたが、これもプログラムの方法とIBの両方で役に立ちませんでした。
私はここで多くの類似した(しかし同一ではない)質問を見てきましたが、それらは私にとってはうまくいきませんでした。
前もって感謝します