2016-05-28 6 views
1

によって活性化されるとUIView.animatewithDurationアニメーションではないので、私は私はこのようなのviewDidLoad()関数に一度変換矢の束がありますボタン

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    UIView.animateWithDuration(2.0) { 

     self.Arrow1.transform = CGAffineTransformMakeTranslation(-20, 0) 
     self.Arrow1.transform = CGAffineTransformRotate(self.Arrow1.transform, -66.0 * CGFloat(M_PI)/180.0) 


     self.Arrow2.transform = CGAffineTransformMakeTranslation(-9, -8) 
     self.Arrow2.transform = CGAffineTransformRotate(self.Arrow2.transform, -70.0 * CGFloat(M_PI)/180.0) 

     // And So On... 

    } 

} 

をその後私は後でプレスでそれらを移動しようボタンの:

@IBAction func searchPressed(sender: AnyObject) { 
     UIView.animateWithDuration(5.0) { 
      self.Arrow1.transform = CGAffineTransformTranslate(self.Arrow1.transform, -100, 0) 

      self.Arrow2.transform = CGAffineTransformTranslate(self.Arrow2.transform, 0, 100) 

      //And So on... (They're 9 Arrows) 

     } 
    } 

しかし、それはアニメートしない、または私はそれがそうだと思うが、本当に奇妙に思う。それはすぐにたくさん動いて、そこからアニメーションを開始します。私はそれをどうやって修正できるのか分かりません。 Here is what happens

答えて

0

同じ苦境に立ち向かう将来の旅行者のために:autolayoutを使用しているビューのサブビューの場合は、autolayoutを使用してビューを制御する必要があります。そうでなければ、私が得た奇妙な結果が得られます。

Hereは、これを行う方法に関する優れたガイドです。

0

また、ブロック内にself.view.layoutIfNeededを挿入します。

+0

動作しません。どのブロックに追加する必要がありますか? – QuantumHoneybees

+0

アニメーションブロック。 –

+0

何も起こりません。それでも同じことをする – QuantumHoneybees