我有一个带有复选标记按钮的表格视图的应用程序。使用 UIcontroll 的子类化。使用这个
如何在屏幕上显示 UIControl 的子类,它只会切换图像。在我的情况下,我有两个部分。当我选择第 0 部分上的按钮时,它必须取消选择所有其他选择的按钮。仅适用于该按钮,而且我还需要知道用户选择了哪个按钮。有人可以帮我吗?
我有一个带有复选标记按钮的表格视图的应用程序。使用 UIcontroll 的子类化。使用这个
如何在屏幕上显示 UIControl 的子类,它只会切换图像。在我的情况下,我有两个部分。当我选择第 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];