Gad*_*sli 5 animation objective-c uitableview ios
好的,我在willDisplayCell
方法中实现了一个自定义动画.当我向上和向下滚动视图时它工作正常.当我点击其中一行时,它将被推送到另一个视图控制器以显示更多详细信息并让用户更新数据.
问题是当用户返回到tableview时.我调用了[tableView reloadData]
里面的方法,viewWillAppear
以确保显示更新的数据.这将触发我之前设置的动画过渡.
我的问题是:有没有办法只在用户向上/向下滚动桌面时执行动画,而不是在reloadData
调用时?
如果有一种方法可以在该线之间混合willDisplayCell
使用scrollViewDidScroll
,那么它就会很棒.
谢谢!
最简单的解决方案是添加一个状态标志来告诉它willDisplayCell
是否应该实际动画。
将属性添加到您的UITableViewDelegate
:
@property (nonatomic) BOOL shouldPreventDisplayCellAnimation;\n
Run Code Online (Sandbox Code Playgroud)\n\n在调用之前和之后设置属性reloadData
:
- (void)viewWillAppear:(BOOL)animated\n{\n \xe2\x80\xa6\n self.shouldPreventDisplayCellAnimation = YES;\n [self.tableView reloadData];\n self.shouldPreventDisplayCellAnimation = NO:\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n修改willDisplayCell
为根据条件制作动画
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath\n{\n if (!self.shouldPreventDisplayCellAnimation) {\n //animate\n }\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2006 次 |
最近记录: |