Ios 动画显示按钮
我正在尝试创建一个基本的动画。我需要按一个按钮来隐藏或显示 我编写了以下代码来点击屏幕:Ios 动画显示按钮,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试创建一个基本的动画。我需要按一个按钮来隐藏或显示 我编写了以下代码来点击屏幕: func visibleControlButton(_ sender: UITapGestureRecognizer) { if (backButton!.isHidden) { _UIButtonHiddenAnimation.hiddenAnimation(button: self.backButton!, hide: false) } else { _U
func visibleControlButton(_ sender: UITapGestureRecognizer) {
if (backButton!.isHidden) {
_UIButtonHiddenAnimation.hiddenAnimation(button: self.backButton!, hide: false)
} else {
_UIButtonHiddenAnimation.hiddenAnimation(button: self.backButton!, hide: true)
}
}
定义_UIButtonHiddenAnimation:
class _UIButtonHiddenAnimation {
class func hiddenAnimation(button: UIButton, hide: Bool) {
UIView.animate(withDuration: 0.2,
animations: {
hide ? (button.alpha = 0) : (button.alpha = 1.0)
},
completion: {
finished in hide ? (button.isHidden = true) : (button.isHidden = false)
})
}
}
动画只是隐藏按钮。如何制作按钮的动画外观?问题是,如果按钮被隐藏,则您正在将alpha设置为1,但我们无法看到,因为按钮被隐藏!然后将
ishiden
设置为false
,按钮跳入视图
解决方案:忘记所有关于ishiden
的内容,只更改alpha-值,然后更改if
测试以匹配您使用按钮所做的操作,即只需根据其alpha
值进行测试。因此(在进行过程中整理):
问题是,如果按钮是隐藏的,您正在将alpha设置为1,但我们无法看到,因为按钮是隐藏的!然后将
ishiden
设置为false
,按钮跳入视图
解决方案:忘记所有关于ishiden
的内容,只更改alpha-值,然后更改if
测试以匹配您使用按钮所做的操作,即只需根据其alpha
值进行测试。因此(在进行过程中整理):
你写的代码应该隐藏和显示得很好。问题是在按钮隐藏后,您不能点击同一个按钮。因此,您不应该在完成块中编写
self.ishiden
代码,并且您可以很好地理解您编写的代码应该隐藏并显示得很好。问题是在按钮隐藏后,您不能点击同一个按钮。因此,您不应该在完成块中编写self.ishiden
代码,您就可以开始了
class _UIButtonHiddenAnimation {
class func hiddenAnimation(button: UIButton, hide: Bool) {
UIView.animate(withDuration: 0.2, animations: {
button.alpha = hide ? 0 : 1.0
})
}
}
func visibleControlButton(_ sender: UITapGestureRecognizer) {
_UIButtonHiddenAnimation.hiddenAnimation(
button: self.backButton!, hide: backButton!.alpha > 0.1)
}