iOS Cell重用池的问题

图片描述

现在要实现点击"想看"按钮状态切换的功能, 但是经过重用池重用后就出现了问题. 换句话说, TableView的自定义cell上面有Button, 点击Button变成实心(选中状态), 再次点击变成空心(正常状态). 可是重用后其它非选中状态的按钮也成为了选中状态.

求各位大神帮忙!

阅读 4.6k
3 个回答

tableView的每个cell都应该根据一定的实体对象来配置其外观。假如你维护的NSArray是movieList,那么每个movie是一个实体

@interface Movie

@property NSString *name;
...

@property BOOL wantToSee;

然后你点击按钮之后,去改变那个wantToSee的值,reload一下cell就可以了,因为cell的具体外观是读取的movie这个实体,如果wantToSee为YES就实心,为NO就空心

 每个cell是一个对象,如果要实现你的功能,你的对象必须有一个bool类型的属性,在加载的时候根据属性设置不同的空心或实心图片。

新手上路,请多包涵

处理一下循环复用就好了。

CellIdentifier设置成动态的,根据IndexPath的变化而变化。
比如:xxx = [NSString stringWithFormat:@"Cell%ld", indexPath.row];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题