gpt4 book ai didi

iphone - UITableViewCell 高亮覆盖了我的 accessoryView

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:30 25 4
gpt4 key购买 nike

我有一个复选框,当它被选中时,它会被选中。但是当我选择单元格时,突出显示会覆盖复选框。对不起,我的英语很糟糕,但这是下面的代码。有没有办法让我在突出显示的顶部添加复选标记按钮?

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = nil;

if([tableView isEqual:self.myTableView]){
static NSString *TableViewIdentifier = @"MyCells";
cell = [tableView dequeueReusableCellWithIdentifier:TableViewIdentifier];
if(cell == nil){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:TableViewIdentifier];
}
//configure the cell
checkbox = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect checkboxRect = CGRectMake(135, 150, 36, 36);
[checkbox setFrame:checkboxRect];
[checkbox setImage:[UIImage imageNamed:@"unselected@2x.png"]forState:UIControlStateNormal];
[checkbox setImage:[UIImage imageNamed:@"selected@2x.png"] forState:UIControlStateSelected];
[checkbox addTarget:self action:@selector(checkboxClicked:) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = checkbox;


NSString *group;
NSUInteger row = [indexPath row];

switch (indexPath.section) {
case 0:
group = [suggestedPeople objectAtIndex:row];
cell.textLabel.text = group;
break;
case 1:
group = [aArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 2:
group = [bArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 3:
group = [cArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 4:
group = [dArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 5:
group = [eArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 6:
group = [fArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 7:
group = [gArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 8:
group = [hArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 9:
group = [iArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 10:
group = [jArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 11:
group = [kArray objectAtIndex:row];
cell.textLabel.text = group;
break;
case 12:
group = [lArray objectAtIndex:row];
cell.textLabel.text = group;
break;

}
}
return cell;}

和我的一些其他方法:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSLog(@"cell is touched");
if(checkbox.state == UIControlStateNormal){
[checkbox setImage:[UIImage imageNamed:@"unselected@2x.png"] forState:UIControlStateHighlighted];
}else if (checkbox.state == UIControlStateSelected) {
[checkbox setImage:[UIImage imageNamed:@"selected@2x.png"] forState:UIControlStateHighlighted];
}}

-(void)checkboxClicked:(UIButton *)sender{
sender.selected = !sender.selected;

UITableViewCell *ownerCell = (UITableViewCell *)sender.superview;
NSIndexPath *ownerCellIndexPath = [self.myTableView indexPathForCell:ownerCell];

if(sender.selected){

}else{

}}

最佳答案

地点:

[checkbox setImage:[UIImage imageNamed:@"selected@2x.png"] forState:UIControlStateSelected];

使用

 [checkbox setImage:[UIImage imageNamed:@"selected@2x.png"] forState:UIControlStateHighlighted];

可能有帮助

关于iphone - UITableViewCell 高亮覆盖了我的 accessoryView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10234991/

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