在 Swift 中重复 CGAffineTransformMakeRotation
Repeat a CGAffineTransformMakeRotation in Swift
我想用一种 fadeIn/fadeOut 旋转的视图替换视图。
这是我的功能
func animateSendButton(enter: Bool)
{
let rotation: CGFloat = enter ? 180 : -180
UIView.animateWithDuration(0.5, animations: {
let transform = CGAffineTransformMakeRotation(self.DEGREES_TO_RADIANS(rotation))
self.sendImage.transform = transform
self.sendImage.layer.opacity = enter ? 0.0 : 0.87
self.sendImage2.transform = transform
self.sendImage2.layer.opacity = enter ? 0.87 : 0.0
})
}
然而,旋转仅在一次且仅在不透明度发生变化之后起作用。
我尝试使用 CGATransformRotate 但它没有用。
有没有办法重复呢?
尝试将转换重置为其身份:)
func animateSendButton(enter: Bool)
{
let alpha = enter ? 0.0 : 0.87
let transfrom = enter ? CGAffineTransformRotate(CGAffineTransformIdentity, DEGREES_TO_RADIANS(180)) : CGAffineTransformIdentity
UIView.animateWithDuration(0.6, delay: 0.0, options: .CurveEaseIn, animations: {
self.sendImage.transform = transform
self.sendImage.layer.opacity = alpha
self.sendImage2.transform = transform
self.sendImage2.layer.opacity = alpha
}) { (complete) in
}
}
我想用一种 fadeIn/fadeOut 旋转的视图替换视图。 这是我的功能
func animateSendButton(enter: Bool)
{
let rotation: CGFloat = enter ? 180 : -180
UIView.animateWithDuration(0.5, animations: {
let transform = CGAffineTransformMakeRotation(self.DEGREES_TO_RADIANS(rotation))
self.sendImage.transform = transform
self.sendImage.layer.opacity = enter ? 0.0 : 0.87
self.sendImage2.transform = transform
self.sendImage2.layer.opacity = enter ? 0.87 : 0.0
})
}
然而,旋转仅在一次且仅在不透明度发生变化之后起作用。 我尝试使用 CGATransformRotate 但它没有用。
有没有办法重复呢?
尝试将转换重置为其身份:)
func animateSendButton(enter: Bool)
{
let alpha = enter ? 0.0 : 0.87
let transfrom = enter ? CGAffineTransformRotate(CGAffineTransformIdentity, DEGREES_TO_RADIANS(180)) : CGAffineTransformIdentity
UIView.animateWithDuration(0.6, delay: 0.0, options: .CurveEaseIn, animations: {
self.sendImage.transform = transform
self.sendImage.layer.opacity = alpha
self.sendImage2.transform = transform
self.sendImage2.layer.opacity = alpha
}) { (complete) in
}
}