2 lantianyiming lantianyiming 于 2013.07.08 11:23 提问

选中cell内容发生变化问题

创建了自定义cell并且添加了UIButton。点击按钮时按钮的图片会变化。

-(IBAction)btnInfoPressed:(id)sender
{
    [btnInfo setSelected:YES];
}

上面的方法放在自定义cell类中。有时向下滚动几个cell后,有一些没点击的按钮的图片也发生变化。实际上我并没有选它。

这个cellforrowatindexpath方法:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"CustomCell";
CustomCell *c = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];

if (c == nil)
{
    c = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] objectAtIndex:0];
}
c.selectionStyle = UITableViewCellSelectionStyleNone;
return c;
}

应该怎么办?

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.07.08 14:07

尝试在CustomCell中再自定义一个属性来保存按钮是否被选中的状态

@interface CustomCell:UITableViewCell
@property (nonatomic) BOOL isSelected;
@end

@implementation CustomCell

-(void)layoutSubviews {
     if (_isSelected) {
          [yourbutton setSelected:YES];
     }
}

-(void)setIsSelected:(BOOL)isSelected {
    _isSelected=isSelected;
    [self setNeedslayout];
}

@end

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS 开发 解决UITableViewcell单选动态改变cell文字和背景颜色的功能,且第一次默认选择第一个cell
功能需求一:头一次进来时默认选择第一个cell- (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = @"测试"; self.view.backgroundColor = [UIColor whiteColor]; // 默认选择第一个cell [self.tableView sel
点击选中cell后改变cell的样式
项目里有一个需求,选中的收货地址和其他的收货地址样式不同 选中之后,要动态的改变cell的样式,并在返回上一个控制器的时候更新显示, 上一个控制器需要更改的显示,如下图所示:之前想通过点击cell触发cell的-(void)layoutSubviews函数,进行子控件frame的改变,没被选中的cell,打钩的UIImageView的frame设置为0,被选中的设置为相应的正常尺寸,其他的控件的
当UITableViewCell被选中时,上面的自定义view消失的问题
当UITableViewCell被选中时,上面的自定义view消失的问题
iOS uicollectionview滚动选中状态错乱
#import "ViewController.h" @interface MyCollectionViewCell : UICollectionViewCell /*  **  */ @property (assign,nonatomic,getter=isBeSelected) BOOL beSelected; @end /*  **  */ @implementati
iOS使用NSMutableSet记录cell控件选中状态避免cell重用问题
我在tableView上面有个button,当我选中button的时候,上滑页面发现选中的状态没有了,但是数组里面添加的button tag值还在(类似于购物车那种方式)很是蛋疼,幸亏还有NSMutableSet来拯救我们啊 哈哈 废话不多说,直接看代码 1、首先我们定义一个NSMutableSet的属性 //用来记录选中的状态 @property (nonatomic, strong)NSM
UITableview 多选 解决cell重用问题
原文地址:http://blog.csdn.net/u011254628/article/details/18089503 假如  我们有100个cell  这时肯定 是需要重用的 解决方案 在  didselesctCell  中记录所选择的   indexPath  [objc] view plaincopy PERenewalG
获取tableview中当前选中的cell
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {          if (0 == indexPath.section) {         [self btnActionForUserSetting:self];
iOS 多选cell复用修正应该标记model里是否选中
// //  AddTeamMeberViewController.m //  HengTaiXinGolf // //  Created by 欧阳荣 on 16/4/21. //  Copyright © 2016年 HengTaiXinGolf. All rights reserved. // #import "AddTeamMeberV
uitableview取消cell选中状态关于deselectRowAtIndexPath
转载自:http://blog.csdn.net/winsdom123456/article/details/7732457 有没有遇到过,导航+UITableView,在push,back回来之后,当前cell仍然是选中的状态。 当然,解决办法简单,添加一句[tableView deselectRowAtIndexPath:indexPath animated:YES]即可。 令人纠结
iOS开发笔记--Cell选中时候上面View看不见
今天开发中遇见一个问题,就是cell被选中时候,cell上面的view全部都看不见了。其实View并没消失,只是透明了。下面是从苹果官方文档拷贝的: UITableViewCell changes the background color of all sub views when cell is selected or highlighted. 意思就是说当UITableViewCell被选中