iOS UITableView不走选中的代理方法原因

我发现在开发过程中总会有脑袋短路的时候, 像我有一次试用YYKit展示图片, 开始我直接将YYKitdemo里面的代码拷贝出来, 然后想在cell的点击方法中放大图片, 像图片浏览器一样的效果, 结果死活不走选中的方法, 最后才发现多拷贝了一个tableView代理方法(tableView:shouldHighlightRowAtIndexPath:), 从网上搜了一下找到了很多其他原因, 加上我遇到的问题我做了一个总结, 如下:

1.在tableView的代理方法tableView:shouldHighlightRowAtIndexPath:中返回了NO;

- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}

2.未设置当前tableView的代理对象;

self.tableView.delegate = self;

3.在tableView: willSelectRowAtIndexPath: 方法中返回了nil

- (NSIndexPath *)tableView:(UITableView *)tableView
  willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    return nil;
}

4.将tableView的nib中的Selection设置成了No Selection

iOS UITableView不走选中的代理方法原因_第1张图片
No Selection

将其改成Single Selection即可

iOS UITableView不走选中的代理方法原因_第2张图片
Single Selection

最后, 推荐下强大的YYKit, 我加载图片本来使用的是SDWebImage, 加载速度很慢的说, 用了YYKit的YYWebImage, 加载快了很多.

你可能感兴趣的:(iOS UITableView不走选中的代理方法原因)