我有一个包含许多单元格的tableview.每个单元格都有一个小信息"i"按钮,我希望用户能够通过从右侧"翻转"单元格来单击以编辑该单元格中的信息.
我为两个可能的单元状态中的每一个都有一个单独的表格单元格XIB,并且cellForRowAtIndexPath提供正确的XIB(具有不同的单元格标识符),具体取决于该单元格应该位于常规视图还是详细/编辑视图中.这可以很好地使用例如reloadRowsAtIndexPaths来反映按下"i"按钮时改变的状态.
但是当我按下单元格的"i"按钮时,我无法弄清楚如何为翻盖设置动画.翻转不是reloadRowsAtIndexPaths中"withRowAnimation"的选项之一.使用像UIView animateWithDuration这样的标准动画方法不起作用:reloadRowsAtIndexPaths只会导致相关单元格立即重新加载,忽略动画指令.我甚至试图使用drawViewHierarchyInRect来获取单元格的未来状态作为图像,但我无法让单元格快速地重绘自己被drawViewHierarchyInRect拾取(我不希望用户实际看到结果动画之前的动画)
有没有人知道如何处理这个?
编辑
总而言之,我遇到的挑战是:除了reloadRowsAtIndexPaths(打破动画)之外,还有另一种方法可以将UITableView单元格内容与不同的UITableViewCell Xib交换,而不会给新Xib的IBOutlets带来麻烦吗?(将它作为Nib加载到子视图中似乎打破了IBOutlets.)到目前为止,答案还没有解决这个问题.