在tableview中切换图像时如何采取任何操作?

时间:2012-10-31 08:25:10

标签: iphone ios ipad

我有一个带有复选标记按钮的表视图的应用程序。使用UIcontroll的子类化。使用此

How to display a Subclass of UIControl on the screen它只会切换图像。在我的情况下,我有两个部分。当我选择第0部分的按钮时,它将必须取消选择所有其他按钮选择。仅对于该按钮,还我需要知道用户选择哪个按钮。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

ui元素之间进行通信的最简单方法是发布一个事件。因此,在这种情况下,您想要捕获触摸事件或复选框更改事件,然后发布您的按钮被选中的事件。在其他单元格中,监听事件,当选择另一个复选框时,单元格将其复选框设置为取消选中。

在选择单元格中:

NSDictionary *userInfo = [NSDictionary dictionaryWithObject:checkbox forKey:@"selectedCheckbox"];
   [[NSNotificationCenter defaultCenter] postNotificationName:@"checkboxSelected" object:nil userInfo: userInfo];               

在其他细胞中:

   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(clearSelection) name:@"checkboxSelected:" object:userInfo];
... look in the 
-(void) checkboxSelected: (NSNotification *) note  {
    NSDictionary * userInfo = note.userInfo;
    checkbox = (UnMessage *)[userInfo objectForKey:@"selectedCheckbox"];
    if(checkbox == myCheckbox) return; // ignore
// deselect my checkbox...

和关于细胞的dealloc:

 [[NSNotificationCenter defaultCenter] removeObserver:self name:@"checkboxSelected" object:nil];