ios - .Repeat .AutoReverse 不起作用

标签 ios swift uiviewanimation animatewithduration

我在单击按钮时使用动画来转换按钮,我能够使按钮变大。但是,我认为通过使用 .Repeat 和 .Autoreverse,按钮会恢复到正常状态。 (比例 1.0)但事实并非如此!也许我误解了我阅读的关于 .AnimateWithDuration 的教程和问题??

这是我正在使用的代码:

 let button = sender as! UIButton

    UIView.animateWithDuration(1.0, delay: 0.6,
        options: [.Repeat, .Autoreverse, .AllowUserInteraction],
        animations:{
        button.transform = CGAffineTransformMakeScale(1.2, 1.2)
        }, completion: nil)

在另一个问题中,我看到可以通过添加 .AllowUserInteraction 来解决问题,但事实并非如此。

我不知道这是否重要,但这段代码包含在触摸事件中。

 @IBAction func addButtonClicked(sender: AnyObject) {}

这里可能发生了什么?这不是您应该反转动画的方式吗?

最佳答案

在动画结束时,您应该重置对象的大小。
.autoreverse 只是“在视觉上反转”,但不会改变实际对象的大小。

试试这个。

@IBAction func prss(sender: AnyObject) {
    let btt = sender as! UIButton

    UIView.animate(withDuration: 1.0, delay: 0.6, options: [.autoreverse, .allowUserInteraction], animations:{
        btt.transform = CGAffineTransform(scaleX: 5.0, y: 5.0)
    }, completion: { (finished) in
        btt.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
    })
}

关于ios - .Repeat .AutoReverse 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114810/

相关文章:

ios - 将 UIPageViewController 滑动与 iOS 7 UINavigationController 向后滑动手势相结合

ios - 无法通过 AdHoc 测试生产推送通知

iphone - 从 Amazon Web Services S3 加载的图像像脉冲一样无限滚动

objective-c - 从屏幕外响应丢失动画对象

ios - UIViewAnimationOptionBeginFromCurrentState 基本动画的意外行为

ios - 在不同 VC 之间移动时管理 UIView 动画

ios - 对象初始化风格

ios - CGRect.offsetBy 不工​​作

ios - 事件指示器并不总是呈现

ios - 音频 - 快进 30 秒