有次我用到cell上一个控件的拖动事件,然后事件结束后找不到什么参照物来看是哪个cell上的控件被拖动了。于是我自认为很机智的用了cell.tag = indexPath.row。 啊尼?成功了。确实成功了,可以用。但是总感觉什么地方不对。
后来想了下,细思极恐,会出现这样一个问题:如果我删掉了index = 3的那个cell,然后tableview没有reload的情况下,原来index是4的cell现在是index=3 但是他的cell.tag 还是4。(不相信的小伙伴自己去写个demo试试就知道了。不要问我怎么知道的,说多了都是泪啊)
然后就有小伙伴问了,那怎么弄呢?
我想到的一个解决办法是:拖动事件的recognizer.view.superView 就是那个cell 然后强转过来,直接调用cell里的属性来判断是哪个index。(如果你有更好的办法,可以加我QQ或者直接留言告诉我。我就是iOS的一个小菜鸡��)
千万不要用cell.tag
最新推荐文章于 2022-06-27 22:45:21 发布