我知道很多人都问过同样的问题,但提出的解决方案似乎都不相关,所以我再次问:我有以下代码块:
UIImageView *moneyHolder = [[UIImageView alloc] initWithImage:moneyImage];
if([paymentMethod.viewed intValue] == 0){
//CGRect targetFrame = CGRectMake(0, cell.frame.size.height/2-3, cell.frame.size.width, targetHeight);
CGRect targetFrame = moneyHolder.frame;
targetFrame.origin.y = cell.frame.size.height/2-3;
NSLog(@"animating");
[UIView animateWithDuration:2
delay:0
options: UIViewAnimationCurveEaseOut
animations:^{
moneyHolder.frame = targetFrame;
}
completion:^(BOOL finished){
NSLog(@"done");
}
];
}
我认为应该为我的 MoneyHolder 框架设置动画。不幸的是,这似乎立即发生,而不是持续 2 秒。我可以使用日志中的时间戳来验证这一点:
2012-05-11 03:41:50.102 AgilePoet[5824:15203] 动画
2012-05-11 03:41:50.116 AgilePoet[5824:15203] 完成
有人对为什么会发生这种情况有任何想法吗?关于该主题的所有其他问题都集中在不可动画的属性上,但我知道 imageview 框架是可动画的。我唯一能想到的是这段代码是写在我的
-tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath method.
提前致谢!