UITableView 中的 UIButton,选择器应用于多个按钮
Posted
技术标签:
【中文标题】UITableView 中的 UIButton,选择器应用于多个按钮【英文标题】:UIButton in UITableView, selector applied on several buttons 【发布时间】:2012-12-13 15:32:50 【问题描述】:我目前在UITableView
中工作,每个单元格都包含一个按钮,背景中带有特定的UIImage
。我想在单元格中单击按钮时更改此图像。
我有这段代码,运行良好,但是当我点击一个按钮时,有几个按钮被修改 - 每 5 个按钮,不知道为什么。代码如下:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
[myCell.favorite addTarget:self action:@selector(pressed_fav:) forControlEvents:UIControlEventTouchUpInside];
return myCell;
- (void)pressed_fav:(id)sender
UIButton *myButton = sender;
[myButton setBackgroundImage:[UIImage imageNamed:@"star.png"] forState:UIControlStateNormal];
myCell
是一个自定义单元格的实例,包含一个指向UIButton
的IBOutlet
'favorite'。
【问题讨论】:
您可以发布您的 tableView:ellForRowAtIndexPath 的完整代码吗? 【参考方案1】:这是因为UITableView
重复使用了单元格。
您必须在 cellForRowAtIndexPath 方法中有一些逻辑来识别按钮的图像。
【讨论】:
【参考方案2】:非常感谢你!
实际上,当我删除该行时:
myCell = [tableView dequeueReusableCellWithIdentifier:@"cinemaCell"];
它不显示单元格(它被很好地分配和初始化)。
【讨论】:
没关系,我只是忘记每次都初始化全新的单元格,对不起!以上是关于UITableView 中的 UIButton,选择器应用于多个按钮的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 UITableView 需要在场景大纲中的 UIButton 下面
UIViewController 中的 UIButton 而不是 UITableView 的问题
UITableView 单元格中的 UIButton,例如“删除事件”
在 UITableView 中的 Scrolling Filmstrip 中的每个 UICollectionViewCell 中添加 UIButton