简而言之,如果下面的文本是tl;dr:
调用reloadRowsAtIndexPaths
,记住您更改了哪个单元格,cellForRowAtIndexPath
并heightForRowAtIndexPath
相应地更新,然后您就可以开始了。
完整版:
当你说swiped away时,你的意思是你正在重新加载或删除你的某些行UITableView
吗?
如果是这样,我认为您可以通过调用[tableView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationLeft];
(或您想要的任何方向)来执行您所描述的操作,然后保存您已更改的 indexPaths(在您的情况下只有一个 indexPath),并在cellForRowAtIndexPath
dataSource 方法中做出适当的反应- 将普通单元格更改为另一个自定义单元格,带有UITableView
或UIScrollView
内部,并在heightForRowAtIndexPath
委托方法中做出反应,以更改高度。
动画本身将由 tableView 处理,这对您来说很容易。
另外,如果你要使用这个方法来改变单元格的内容UITableView
,不要忘记分配那个单元格的新tableView的delegate和dataSource,因为这会在忘记时造成很多麻烦。