我使用以下代码行:
[UIView animateWithDuration:0.50
animations:^{ itemView.transform = CGAffineTransformIdentity; }
completion:^(BOOL finished) { if (finished) [itemView removeFromSuperview]; }];
动画什么都不做。如果我从完成块中取出removeFromSuperview,它也不起作用,我猜是因为视图在完成之前被删除了。所以无论哪种方式,外观都是一样的 - 没有动画。
我会对此提出任何建议或解决方法表示感谢。
答案 0 :(得分:0)
您是否正确设置了转换?下面是将UIView缩放到零区域,然后将其从superview中删除的示例。
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];
}];