2017-02-09 106 views
1

我可以让我的按钮隐藏,但不隐藏按钮不会取消隐藏

隐藏用自来水的answerOneCover按钮:

@IBAction func answerOneCoverTapped(_ sender: Any) { 
    animateButtonCoverOut(button: answerOneCover) 
} 

func animateButtonCoverOut(button: UIButton) { 

    UIView.animate(withDuration: 1.0, delay: 0.1, options: 
     UIViewAnimationOptions.curveEaseOut, animations: { 
      button.alpha = 0 
    }, completion: { finished in 
     button.isHidden = true 
    }) 
} 

我尝试取消隐藏answerOneCover按钮时不同的按钮,answerOneButtonText按钮被窃听

@IBAction func answerOneButtonTextTapped(_ sender: Any) { 
    answerOneCover.isHidden = false 
} 

但我无法取得answerOneCover的取消隐藏。有没有办法做到这一点,我错过了?

回答

3

你必须设置按钮阿尔法回到。改变你的代码看起来像这样:

@IBAction func answerOneButtonTextTapped(_ sender: Any) { 
    answerOneCover.alpha = 1 
    answerOneCover.isHidden = false 
} 

OR,你可以把它放在你的动画完成,像这样:

func animateButtonCoverOut(button: UIButton) { 

    UIView.animate(withDuration: 1.0, delay: 0.1, options: 
     UIViewAnimationOptions.curveEaseOut, animations: { 
      button.alpha = 0 
    }, completion: { finished in 
     button.isHidden = true 
     button.alpha = 1 
    }) 
} 
+2

另一种选择是从来没有使用'isHidden'。只需根据需要设置“alpha”即可。 – rmaddy

+0

@rmaddy感谢您的提示! – SRMR

+1

@kenny谢谢你的回答,完美! – SRMR