谢谢大家。但我需要告诉你完整的情况。我有一个集合视图单元格。我已经添加了复选框。并选择全部'按钮位于集合视图之外。因此,如果我点击“选择全部”'按钮,它应该选择集合视图单元格内的所有复选框。我在集合视单元中添加了一个customuibutton。 CustomUIButton * checkboxButton = [CustomUIButton buttonWithType:UIButtonTypeRoundedRect]; [checkboxButton setTaggy:indexPath.row]; // [checkboxButton setTag:CHECKBOX_BUTON_ON_CELL + indexPath.row + indexPath.section]; // [checkboxButton setCollectionIdentifier:collectionView.tag]; [checkboxButton addTarget:self action:@selector(checkBoxAction :) forControlEvents:UIControlEventTouchUpInside]; checkboxButton.frame = CGRectMake(168.0,3.0,20.0,20.0); [checkboxButton setSection:indexPath.section];
[checkboxButton setHighlighted:NO];
if (clsPartcipant.isSmallChanged)
{
[checkboxButton setBackgroundImage:[UIImage imageNamed:@"selected1.png"] forState:UIControlStateNormal];
}
else
{
[checkboxButton setBackgroundImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
}
[checkboxButton.titleLabel setTextAlignment:NSTextAlignmentCenter];
[cell.contentView addSubview:checkboxButton];
});
return cell;
我调用了一个像checkBoxAction这样的函数。 - (无效)checkBoxAction:(ID)发送方{ CustomUIButton * button = sender; BOOL标志= NO;
if (button.selected)
{
[button setSelected:NO];
[button setBackgroundImage:[UIImage imageNamed:@"unselected.png"] forState:UIControlStateNormal];
flag=NO;
}
else
{
[button setSelected:YES];
[button setBackgroundImage:[UIImage imageNamed:@"selected1.png"] forState:UIControlStateNormal];
flag=YES;
}
if (button.collectionIdentifier == ClsRmPrctPresntCollectionView)
{
[self ModifyDataArray:button.taggy flag:flag identifier:ClsRmPrctPresntCollectionView change:@"SmallButton" toDate:nil section:button.section];
[self modifyCollectionArray:PRESENT processingData:self.presentDataArray identifier:ClsRmPrctPresntCollectionView index:button.taggy section:button.section];
}
} 现在我无法弄清楚我需要在selectAll按钮操作中添加什么。请帮帮我
答案 0 :(得分:0)
我正在通过手机输入此内容,以免缺乏代码。无论如何,我会很清楚。
首先,您要将按钮链接为所有按钮,然后为其添加标记。
在情节提要或代码中(在viewDidLoad
中),为selected
状态设置“已选中”图像,为not selected
状态设置“未选中”图像。
现在,您的按钮将知道与您互动时要显示的内容。
对于每个按钮,您可能已经有了IBAction,这很好。你的SelectAll按钮也需要他自己的。
在所有按钮中,您将拥有
UIButton *bt = (UIButton*)sender;
[bt setSelected:!bt.isSelected];
现在我必须在我到达计算机后立即检查,但基本上将按钮的选定属性设置为与当前状态相反。
对于全选,您可以使用此
BOOL trigger;
UIButton *bt = (UIButton*)sender;
If(bt.isSelected == YES){
trigger = NO;
}else{
trigger = YES
}
for (int i = 0; i < 9 ; i++){ // note that 9 is the number of buttons
UIButton *bt = (UIButton*)[self.view viewWithTag:i]
[bt setSelected:trigger];
}
你应该全力以赴:)
请再次请原谅我手机上的任何荒谬的错误或法语自动更正,我花了20分钟写下来:D
答案 1 :(得分:0)
首先,如果您使用UITabelView
来显示这些复选框,那就没问题了,重新加载它,或者让All Cells重新加载每个单元格。
然后,如果UIView
上方有10个复选框,则可以使用NSMutableArray
包含10个复选框,例如:
for(UIButton * button in mArray){
// do select or deselect action
}