0

我使用以下代码行:

[UIView animateWithDuration:0.50
    animations:^{ itemView.transform = CGAffineTransformIdentity; }
    completion:^(BOOL finished) { if (finished) [itemView removeFromSuperview]; }];

动画什么都不做。如果我将 removeFromSuperview 从完成块中取出,它也不起作用,我猜是因为视图在完成之前被删除。所以,无论哪种方式,外观都是一样的——没有动画。

我将不胜感激有关此的任何建议或解决方法。

4

1 回答 1

0

您是否正确设置了转换?下面是一个将 UIView 缩放到零区域然后将其从超级视图中移除的示例。

UIView *itemView = [[UIView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];
[itemView setBackgroundColor:[UIColor redColor]];
[self.view addSubview:itemView];

CGAffineTransform trans = CGAffineTransformScale(self.view.transform, 0, 0);
[UIView animateWithDuration:2.5 delay:0 options:0 animations:^{
    itemView.transform = trans;
} completion:^(BOOL finished) {
    [itemView removeFromSuperview];
}];
于 2013-05-26T09:26:26.377 回答