このコードがアニメーション化されているサブビューを削除しない理由を誰か教えてもらえますか? ビューが積み重なっていて、2 回目にビューを閉じると、アニメーション化されず、タグ 99 を持つ subView のインスタンスが 2 つになりました。最初は解放されませんでした。
for (UIView *subview in [self.smallView subviews]) {
NSLog(@"view:%@",subview);
if (subview.tag == 99) {
[UIView animateWithDuration:.5
animations:^{
subview.alpha = 0;
}
completion:^(BOOL finished){
subview.alpha = 0;
[subview removeFromSuperview];
}];
}
}
サブビューを追加する方法は次のとおりです。viewVC は ViewController サブクラスであり、smallView はマップを追加する場所であり、すべてのビューのコンテナーです。
@property (nonatomic, retain) CustomViewController *viewVC;
viewVC = [self.storyboard instantiateViewControllerWithIdentifier:@"VIEWVC"];
viewVC.view.frame = CGRectMake(20, 20, 280, 371);
viewVC.view.layer.cornerRadius = 15;
viewVC.view.tag = 99;
viewVC.view.alpha = 0;
[self.smallView addSubview:viewVC.view];
[UIView animateWithDuration:.5
animations:^{
viewVC.view.alpha = 1;
}
completion:^(BOOL finished){
viewVC.view.alpha = 1;
}];