美文网首页
iOS UITableView不走选中的代理方法原因

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

作者: dongzhensong | 来源:发表于2017-03-08 18:09 被阅读372次

    我发现在开发过程中总会有脑袋短路的时候, 像我有一次试用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

    No Selection

    将其改成Single Selection即可

    Single Selection

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

    相关文章

      网友评论

          本文标题:iOS UITableView不走选中的代理方法原因

          本文链接:https://www.haomeiwen.com/subject/ittigttx.html