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 回答