iphone – UITableview的滚动改变了UIButton,UITableview滚动问
发布时间:2020-12-14 17:12:10 所属栏目:百科 来源:网络整理
导读:我正在做的是,我有一个UITableview,我添加了UIButton作为自定义视图.我给每个按钮添加标签,并在动作方法中收到标签.当我按下按钮时,它会更改所选和未选择按钮的图像,但是当我滚动它时,它将进入正常状态. 这是我在索引方法行的单元格 static NSString *CellId
我正在做的是,我有一个UITableview,我添加了UIButton作为自定义视图.我给每个按钮添加标签,并在动作方法中收到标签.当我按下按钮时,它会更改所选和未选择按钮的图像,但是当我滚动它时,它将进入正常状态.
这是我在索引方法行的单元格 static NSString *CellIdentifier = @"Cell4"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [self tableviewCellWithReuseIdentifierFollowing:CellIdentifier]; } followingButton = [UIButton buttonWithType:UIButtonTypeCustom]; [followingButton addTarget:self action:@selector(followingButtonpressed:)forControlEvents:UIControlEventTouchUpInside]; [followingButton setImage:[UIImage imageNamed:@"following12.png"] forState:UIControlStateNormal]; followingButton.frame = CGRectMake(220.0,20.0,100,40.0); [cell.contentView addSubview:followingButton]; NSLog(@"row--%d",indexPath.row); followingButton.tag=indexPath.row; NSLog(@"followingButton.tag--%d",followingButton.tag); [self configureCellFollowing:cell forIndexPath:indexPath]; return cell; } ================== //Here is the action method -(void)followingButtonpressed:(id)sender { NSLog(@"sender tag --%d",[sender tag]); UIButton *btnPly = (UIButton *)sender; if([btnPly isSelected]) { [btnPly setSelected:NO]; [btnPly setImage:[UIImage imageNamed:@"following12.png"] forState:UIControlStateNormal]; } else { [btnPly setSelected:YES]; [btnPly setImage:[UIImage imageNamed:@"following_off12.png"] forState:UIControlStateNormal]; } } 解决方法
注意:此代码为每行数据创建单元格(不重用单元格)
您只需按描述进行更改,可能对您有所帮助 NSString *CellIdentifier = [NSString stringWithFormat:@"S%1dR%1d",indexPath.section,indexPath.row]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 可能会解决你的问题:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |