所以昨晚我偶然发现了 iOS SDK 的一个相当不方便的“功能”,我想与你们分享我的发现和解决方案。还要获得输入,是否有更好的解决方案。
设想
我有一个表格视图,有两个部分,一个是最喜欢的项目,另一个是所有其他项目。点击表格视图中的一行将切换该项目是否被标记为收藏;在最喜欢的项目部分中点击一行,会将其从收藏夹中删除,而在所有其他项目部分中点击一行会将这个项目添加到收藏夹中。
当收藏的状态被切换时,我moveRowAtIndexPath:toIndexPath:
会做一个漂亮的小动画并将行从收藏部分移动到所有其他部分。
问题
因此,问题出现了,因为不仅用户应该能够切换收藏状态,而且收藏部分中的所有项目都应该是可重新排列的。因此,我想在最喜欢的项目部分的每一行中显示一个重新排列控件。
但是,调用时不会重绘单元格,moveRowAtIndexPath:toIndexPath:
并且 fromIndexPath 和 toIndexPath 都在可见区域中。这意味着在收藏项部分添加新行时不会显示重新排列控件。