iOS 11 tableView 因为firstResponder原因 reloadData 不刷新UI

场景:

长按某个cell,弹出editMenu,点击editMenu的某个item,删除cell对应的数据,reloadData,刷新UI。

问题:

iOS11之UI可以正常刷新。iOS11之后无效。

查找问题:

editMenu的item的回调方法是在cell中回调到控制器的。回调出来删除数据后调用reloadData后,不走数据源方法。

解决问题:

在reloadData之前,[self.tableView becomeFirstResponder]。

原因:

在cell中展示editMenu,需要让cell变为第一响应者。然后回调到控制器中,在iOS11中,直接在该cell的block回调中调用reloadData无效。tableView的reloadData为什么和firstResponder有关?为什么iOS11之前都没问题?

你可能感兴趣的:(iOS 11 tableView 因为firstResponder原因 reloadData 不刷新UI)