gpt4 book ai didi

ios - 如何在ios中的UITableView上实现复选框功能

转载 作者:行者123 更新时间:2023-11-29 00:49:49 35 4
gpt4 key购买 nike

在我的 ios 应用程序中,我在 UITableViewCell 中添加了一个按钮,用于检查和取消检查 TableViewCell 产品。为此,我写了下面的代码,但根据我的代码,默认情况下所有都被选中,当我滚动复选框时,复选框被取消选中

我的代码:

- (void)viewDidLoad {
[super viewDidLoad];

checkBoxesArray = [[NSMutableArray alloc]init];
for(int i = 0; i <15; i++){

[checkBoxesArray addObject:@""];
}
}

//TableList Delegate Methods:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

return checkBoxesArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *cellIdentifier = @"HistoryCell";

UITableViewCell *cell = (UITableViewCell *)[MaintableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (cell == nil){

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

}

model1 = mainArray[indexPath.row];
cell.textLabel.text = model1.Name;
cell.detailTextLabel.text = model1.MasterId;

bool variable = checkBoxesArray[indexPath.row];

newBtn=[UIButton buttonWithType:UIButtonTypeCustom];
[newBtn setFrame:CGRectMake(250,5,30,30)];
[newBtn addTarget:self action:@selector(urSelector:) forControlEvents:UIControlEventTouchUpInside];

UIImage *btnImage;
if(variable == YES){
NSLog(@"1");
btnImage = [UIImage imageNamed:@"check.png"];
}else{
NSLog(@"2");
btnImage = [UIImage imageNamed:@"uncheck.png"];
}
[newBtn setImage:btnImage forState:UIControlStateNormal];

[cell addSubview:newBtn];

return cell;
}



-(void)urSelector :(UIButton*)sender{

CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:MaintableView];
NSIndexPath *indexPath1 = [MaintableView indexPathForRowAtPoint:buttonPosition];
NSInteger variable = indexPath1.row;

bool variablePosition = checkBoxesArray[variable];

if (variablePosition == YES){

variablePosition= NO;
[checkBoxesArray replaceObjectAtIndex:variable withObject:[NSString stringWithFormat:@"%d",variablePosition]];
}
else{
variablePosition = YES;
[checkBoxesArray replaceObjectAtIndex:variable withObject:[NSString stringWithFormat:@"%d",variablePosition]];
}

[MaintableView reloadData];
}

@end

最佳答案

1) 添加一个 key 到你的模型数组。喜欢 isSelected 并将其值设置为 NO

2) 现在,当您选择任何单元格时,将该键的值设置为 YES

3) 在 cellForRow 中,访问我们添加的那个键并检查它的值。如果是,则设置检查图像,否则取消检查图像。

4) 不要维护两个数组,因此请删除您的checkboxarray。它会给你带来困惑。

关于ios - 如何在ios中的UITableView上实现复选框功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38278331/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com