0

UITableViewCell にカスタム ラジオ ボタンを作成しています。ボタンを選択するたびに通知するデリゲートの実装について混乱しています。

たとえば、UITableView には次のメソッドがあります。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

ユーザーが特定の行を選択すると呼び出されます。オプションボタンの選択についても同じ動作をしたいと思います。

前もって感謝します。

4

2 に答える 2

1

ユーザーが行ったアクションを観察する必要があります。ラジオ ボタンを UIControl として作成し、ターゲット アクションを使用してユーザーの選択を観察します。

したがって、ボタンに次のように伝えます。

[radioButton addTarget:self action:@selector(radioButtonValueDidChange:) forControlEvent:UIControlEventValueChanged];

次に、アクションを観察するメソッドを実装します。

- (void)radioButtonValueDidChange:(RadioButton *)button {
// Do whatever you need to after a user selects a button.
}

これで、オブジェクトが選択または選択解除されるたびに "radioButtonValueDidChange:" が呼び出され、それに応じて操作できるようになります。

于 2012-07-13T05:49:13.850 に答える
1

車輪を再発明する代わりに、サブクラスUIButton化して通常のターゲット/アクションのセマンティクスを使用することをお勧めします。

ただし、委任パターンを一般的に実装する場合は、Cocoa Fundamentals Guideに Apple の優れたドキュメントがあります(「カスタム クラスの委任の実装」というタイトルのセクションまでスクロールします)。

于 2012-07-13T05:51:10.433 に答える