【发布时间】:2010-07-24 00:53:34
【问题描述】:
如何在 UITableView 滚动时取消选择 UITableViewCell?
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview
如何在 UITableView 滚动时取消选择 UITableViewCell?
【问题讨论】:
标签: iphone objective-c cocoa-touch uitableview
我想你可以使用以下答案:
Detecting UITableView scrolling
确保您的 .h 文件类似于以下内容:
@interface ItemSelectController : UITableViewController <UIScrollViewDelegate> {
然后将以下内容放在您的 .m 中以检测何时发生滚动并取消选择任何已选择的单元格。
-(void) scrollViewDidScroll:(UITableView *)sender {
[sender deselectRowAtIndexPath:[sender indexPathForSelectedRow] animated:YES];
}
末尾那些有趣的括号中的 UIScrollViewDelegate 表示它实现了该协议。这意味着您可以访问诸如 scrollViewDidScroll 之类的功能。那里的顶级功能会覆盖它以执行您想要的操作。您不会碰巧启用了多选,对吗?
【讨论】:
您可以在 cellForRowAtIndexPath 中使用以下行在表格视图滚动后取消选择行:
[_tableView selectRowAtIndexPath:0 动画:NO scrollPosition: UITableViewScrollPositionNone];
【讨论】: