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 に答える