2016-04-23 27 views
3

ドロップダウンのような画像が1つあります。当初はドロップダウンイメージのように見えるので、ユーザーがドロップダウンリストを押すといくつかのオプションが表示されます。だから私が必要とするのは、ドロップダウンが真のときです。私は、ユーザーが画像をドロップダウンし、オプションのリストが表示されているときにドロップダウン画像を180度に表示する必要があることを意味します。イメージを通常の位置として表示する必要があります。画像を180度回転する

もう1つの画像を使用する代わりに、この方法が正しいですか?私は迅速2.2

更新使用しています:

UIView.animateWithDuration(2.0, animations: { 
    self.imageView.transform = CGAffineTransformMakeRotation(CGFloat(M_PI)) 
}) 

あなたはアニメーション秒(現在は2.0)を調整することができます

@IBAction func dropBtnPress(sender: AnyObject) { 

      if dropDown.hidden { 
       dropDown.show() 
       UIView.animateWithDuration(0.0, animations: { 
        self.image.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI))/180.0) 
       }) 
      } else { 
       dropDown.hide() 
    //   UIView.animateWithDuration(2.0, animations: { 
    //    self.image.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI))/-180.0) 
    //   }) 
      } 
     } 

    } 
+1

'(180 * X)/ 180 = X 'ドロップを助けることを願っています'(180.0 * CGFloat(M_PI))/ 180.0'と' CGFloat(M_PI) 'を使ってください。 – Fogmeister

答えて

14

あなたはこのスニペットを使用することができ、画像を回転します。

次のコードを使用して再度画像を設定するには:

UIView.animateWithDuration(2.0, animations: { 
    self.imageV.transform = CGAffineTransform.identity 
}) 

スウィフトの4.xバージョン:

回し:それに画像を設定し

UIView.animate(withDuration: 2.0, animations: { 
    self.imageView.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 
}) 

を正常状態:

UIView.animate(withDuration: 2.0, animations: { 
    self.imageView.transform = CGAffineTransform.identity 
}) 
+0

が働いています。私は180度に画像を変更します。どうして? – user5513630

+0

@ user5513630の場合は、更新を確認して戻るボタンを再度有効にします。 –

3

まず、180度回転させたい場合は、それをラジアンに変換する必要があります。ラジアンで180度はpiです。 360度は2 * piとなります。 180 * piは、アニメーションを1秒間に約90回回転させ、元の向きで終了します。

あなたはこのような何かを行うことができ、

let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation") 
rotationAnimation.fromValue = 0.0 
rotationAnimation.toValue = M_PI 
rotationAnimation.duration = 1.0 

self.arrowImageView.layer.addAnimation(rotationAnimation, forKey: nil) 

これは:)

5

スウィフト3

UIView.animate(withDuration:0.1, animations: { 
    self.arrowIcon.transform = CGAffineTransform(rotationAngle: (180.0 * CGFloat(Double.pi))/180.0) 
}) 
関連する問題