選択して、もう一度タッチするまで押し続けることを目的とした多くのUIButtonを備えたuiviewcontrollerがあります。viewDidLoadで各ボタンを定義し、それらすべてに同じセレクターメソッド(tapButton)を指定します。
[button1 addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside];
[button2 addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside];
...
私がやりたいのは、tabButton:メソッドで、セレクターを使用して押されたボタンを判別し、次のように状態を変更することです。
- (IBAction) tapButton:(id)sender
{
if ( sender.selected ) {
sender.highlighted = NO;
sender.selected = NO;
} else {
sender.highlighted = YES;
sender.selected = YES;
}
}
「sender.selected」または「sender.highlighted」を実際に実行することはできないため、これは単なる疑似コードであることに気付くでしょうが、それが私が達成しようとしていることです。
これを達成する方法はありますか?各UIButtonの状態を管理するために、30個の「tapButton」メソッド(つまり、私が持っているUIButtonの数)を作成するのは嫌です。
本当にありがとう!