2016-10-04 31 views
4

ビューフリップを作成する関数を作成しました。そのアニメーションの間、私は1つのビューを非表示にし、他を表示したい。トランジション中にサブビューが表示されない/表示されない

これは機能しません。しかし、移行が完了した後でこのビューを移動しようとすると、必要な結果が表示されます。

以下は、私が書いたコードです。

func tapped() { 
    if (showingBack) { 
     UIView.transitionWithView(self.contentView!, duration: 1, options: .TransitionFlipFromRight, animations: { 
      self.contentView?.viewWithTag(1)?.hidden = false 
      self.contentView?.viewWithTag(2)?.hidden = true 
     }, completion: { complete in 
     }) 

    } else { 


     UIView.transitionWithView(self.contentView!, duration: 1, options: .TransitionFlipFromRight, animations: { 
      self.contentView?.viewWithTag(1)?.hidden = true 
      self.contentView?.viewWithTag(2)?.hidden = false 
     }, completion: { complete in 
     }) 
    } 

    showingBack = !showingBack 

} 
+0

はここに私の答えをお試しください...このコードを試してみてください。 http://stackoverflow.com/questions/39043032/uiviewanimation-trantitionfromview-using-uiviewflip-animation/39047106?noredirect = 1#comment65445247_39047106 – Dasem

+1

'hidden'プロパティではなく' alpha'プロパティを試してみることもできます。 –

+0

あなたのアプリケーションの実行画面が表示されましたが、あなたの意見が表示されます。 ? –

答えて

2

残念ながら、hiddenはUIViewアニメーションでアニメーション化できるプロパティではありません。私はあなたの最善の策は、フェード、フリップなどを使用するか、より強力なCore Animationsを手に取ることです。 UIViewアニメーションとCore Animationsのドキュメントを一見してみてください。

UIView.animateWithDuration(0.7, delay: 1.0, options: UIViewAnimationCurveEaseOut, animations: { 
         self.myView.frame = /* set the frame here */ 
    }, completion: { finished in 
println("Done!") 
    }) 
1

func tapped() { 
     if (showingBack) { 
      UIView.transitionWithView(self.contentView!, duration: 1, options: .TransitionFlipFromRight, animations: { 
       self.contentView?.alpha = 1.0 
       self.Contentview2?.alpha = 0.0 
       }, completion: { complete in 

      }) 

     } else { 


      UIView.transitionWithView(self.Contentview2!, duration: 1, options: .TransitionFlipFromRight, animations: { 
       self.contentView?.alpha = 0.0 
       self.Contentview2?.alpha = 1.0 
       }, completion: { complete in 

      }) 
     } 

     showingBack = !showingBack 

    } 
+0

このコードは、あなたがそれを承認し、あなたの投票を与えるのに役立ちます、ありがとう... –

関連する問題