gpt4 book ai didi

ios - 如何在旋转中使用 TapGestureRecognizer 处理 UIImage

转载 作者:行者123 更新时间:2023-11-28 15:14:40 25 4
gpt4 key购买 nike

我有一个标签和 UIImage 布局,如下所示。

LabelMonth ImgArrowDown

这个 LabelMonth 有如下的 TapGestureRecognizer。

当用户点击 LabelMonth 时,ImageArrowDown 将旋转 360,使其看起来向上。

问题:

  • 当用户再次点击 LabelMonth 时,如何将 ImageArrowDown 旋转回其原始位置,即箭头指向下方?

viewDidLoad(){

    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:
#selector(HandleImgRotation))

LabelMonth.isUserInteractionEnabled = true LabelMonth.addGestureRecognizer(tapGestureRecognizer)

}




func HandleImgRotation(_sender:AnyObject){

UIView.animate(withDuration:1.0, animations: ({self.imgArrowDown.transform = CGAffineTransform(rotationAngle: self.radian(degree:360))
}))

}



func radian(degrees:Double) -> CGFloat{

return CGFloat(degrees * .pi/degrees)

}

谢谢

最佳答案

以下方法应该可以解决您的问题...

var rotated = false

func HandleImgRotation() {
UIView.animate(withDuration: 2.0) {
if !self.rotated {
UIView.animate(withDuration:1.0, animations: ({
ImgArrowDown.transform = CGAffineTransform(rotationAngle: CGFloat(M_PI * 0.999) )
self.rotated = true
}))
} else {
UIView.animate(withDuration:1.0, animations: ({
ImgArrowDown.transform = CGAffineTransform.identity
self.rotated = false
}))
}
}
}

关于ios - 如何在旋转中使用 TapGestureRecognizer 处理 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47052183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com