【发布时间】:2019-06-14 18:01:08
【问题描述】:
我已将此动画代码添加到按下按钮时调用的函数的末尾,但在动画发生时,它会忽略设置的目标选择器,直到动画完成。动画很快,但我希望用户能够快速按下它。
let transforms: CGAffineTransform = .identity
mirroredButton.transform = transforms
UIView.animate(withDuration: 0.05, animations: {
mirroredButton.transform = transforms.scaledBy(x: 0.75, y: 0.75)
},
completion: { _ in
UIView.animate(withDuration: 0.1) {
mirroredButton.transform = transforms.scaledBy(x: 1.0, y: 1.0)
}
})
更新:
使用答案,我更新了我的动画代码,如下所示。两个动画调用都需要选项。第二个有一个零完成处理程序。
let transforms: CGAffineTransform = .identity
mirroredButton.transform = transforms
UIView.animate(withDuration: 0.05, delay: 0.0, options: .allowUserInteraction, animations: {
mirroredButton.transform = transforms.scaledBy(x: 0.75, y: 0.75)
},
completion: { _ in
UIView.animate(withDuration: 0.1, delay: 0.0, options: .allowUserInteraction, animations: {
mirroredButton.transform = transforms.scaledBy(x: 1.0, y: 1.0)
}, completion:nil)
})
【问题讨论】:
-
您希望目标选择器做什么?重新开始动画?
-
是的,那很好。我只是不希望它取消在动画时触发目标选择器功能的能力。
标签: swift uiview uibutton transform uianimation