2016-08-06 5 views
1

私はXcodeのビューコントローラで書いたコードを持っています。そのコードの前に、NEXTTIPというボタンさえも機能します。しかし、アニメーションに追加した後、アニメーションが出なくなり、ボタンが機能しなくなりました。助けてください!「フェードインとアウト」アニメーションが機能しません

 
 
    @IBAction func nextTip(sender: AnyObject) { 
 
     func hideTip() { 
 
      UIView.animateWithDuration(0.5, 
 
       animations: { 
 
        self.titleLabel.alpha = 0 
 
        self.contentLabel.alpha = 0 
 
        self.imageView.alpha = 0 
 
       }, 
 
       completion: { finished in 
 
        self.showTip 
 
       } 
 
      ) 
 
     } 
 

 
     func showTip() { 
 
      titleLabel.text = "For healthy teeth, don't brush after eating" 
 
      contentLabel.text = "Don't brush your teeth immediately after meals and drinks, especially if they were acidic. Wait 30 to 60 minutes before brushing." 
 
      imageView.image = UIImage(named:"teeth.jpg") 
 
      UIView.animateWithDuration(0.5, 
 
             animations: { 
 
      }) 
 
     } 
 
     
 
    }

+0

私はそれを動作することはできません。 – ShibekNet101

答えて

2

あなたはnextTip()関数内でやっていること 2つの新しい関数、hideTip()showTip()を定義するです。あなたは実際にそれらを呼んでいません。 Swiftの関数内で関数を作成することは、完全に法的なことですが、ここでやりたいことはほとんどありません。あなたはあなたのコードがそうのように構造化されますので、nextTip(:)機能のhideTip()showTip()外の定義を移動する必要があります。

class MyViewController: UIViewController { 
    func hideTip() { 
     UIView.animateWithDuration(...) 
     // etc. 
    } 

    func showTip() { 
     // stuff 
    } 

    @IBAction func nextTip(sender: AnyObject) { 
     hideTip() 
    } 
} 
+0

が正しい場合は、IBActionの外で関数を定義して呼び出す必要があります。 –

関連する問題