我试图根据UIImageView上的Tap Gesture切换UILabel的可见性。执行切换的代码如下:
func imageTapped(img: UIImageView) {
print(photoTitle.hidden)
if (photoTitle.hidden) {
UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
self.photoTitle.alpha = 1
}, completion: nil)
}
else {
UIView.animateWithDuration(0.5, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
self.photoTitle.alpha = 0
}, completion: nil)
}
self.photoTitle.hidden = !self.photoTitle.hidden
}
问题在于,它似乎忽略了第二次点击时的动画,即再次隐藏了UILabel。它只是变得不可见,而不是逐渐进行动画处理。在viewdDidLoad()中,我将photoTitle.hidden = true初始化为最初不可见。
有任何明显的错误吗?
最佳答案
您需要将self.photoTitle.hidden = true
移到else条件的完成块中