通知代表iPhone中的自定义单选按钮索引选择

通知代表iPhone中的自定义单选按钮索引选择,iphone,ios5,xcode4,Iphone,Ios5,Xcode4,我正在UITableViewCell上创建自定义单选按钮。我对实现一个代理感到困惑,该代理将通知我每个按钮的选择 例如,在UITableView中,我们有一个方法: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath; 当用户选择特定行时,将调用它。我希望我的选项按钮选择具有相同的行为 提前谢谢 您需要观察用户所做的操作。我将单选按钮创建为UIControl,并使

我正在UITableViewCell上创建自定义单选按钮。我对实现一个代理感到困惑,该代理将通知我每个按钮的选择

例如,在UITableView中,我们有一个方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
当用户选择特定行时,将调用它。我希望我的选项按钮选择具有相同的行为


提前谢谢

您需要观察用户所做的操作。我将单选按钮创建为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:”,您可以相应地执行操作。

我建议您将
UIButton
子类化,并使用通常的目标/操作语义,而不是重新设计轮子


但是,如果您想一般地实现委托模式,在中有来自Apple的优秀文档(向下滚动到标题为“为自定义类实现委托”的部分)。

谢谢dude,这对我帮助很大。然而,我在内部使用了一般方式和上面的方法中的委派模式。当您设置表格单元格时,您可以使用tag变量来区分更改了哪个单选按钮。radioButton.tag=indexPath.row;