2

私は奇妙な問題に遭遇します。removeFromSuperview を使用すると、アプリがクラッシュします。しかし、[UIView animationWithDuration] を使用すると、問題ありません。

以下を参照してください。これは正常に実行できます。

   [self willMoveToParentViewController:nil];

     [UIView animateWithDuration:0.5 animations:^(void){

         CATransition *transition = [CATransition animation];
         transition.type = kCATransitionReveal;
         transition.subtype = kCATransitionFromBottom;
         transition.duration = 0.5;
         [self.view.superview.layer addAnimation:transition forKey:nil];


     } completion:^(BOOL finished){
         [self.view removeFromSuperview];
         [self removeFromParentViewController];
     }] ;

しかし、このように [UIView animationWithDuration] を削除すると。

    [self willMoveToParentViewController:nil];

     [self.view removeFromSuperview];
     [self removeFromParentViewController];

クラッシュしなくなりました。

サブビューを追加する方法は次のとおりです

 [self.tabBarController addChildViewController: vc];
CATransition *transition = [CATransition animation];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromTop;
transition.duration = 0.5;
[self.tabBarController.view.layer addAnimation:transition forKey:nil];
[self.tabBarController.view addSubview:vc.view];
[self.tabBarController didMoveToParentViewController:vc];

なぜこれが起こったのかわかりません。誰かが私を助けてくれることを願っています。それは奇妙な問題です。 ここに画像の説明を入力

4

0 に答える 0