Swift 按钮调整大小动画

Swift button resizing animation

我正在尝试为按钮调整大小设置动画,但我得到的只是即时已调整大小的视图。我做错了什么?

p.s。抱歉我的英语不好

swift 5

 UIView.animate(withDuration: 10) {
            self.button.frame.size = CGSize(width: 195, height: 195)
            self.button.frame.size.width += 100
            self.button.frame.size.height -= 100
            self.button.center.y += 200
        }

大括号内的前三行不能像我预期的那样工作,但最后一行改变了按钮的位置,因为它必须

您不在 UIView.animate 中执行任何算术运算,您只需设置要设置动画的常量的最终值:

UIView.animate(withDuration: 10) {
    self.button.frame.size.width = 10 // The new width of self.button
}

相同的概念适用于任何 frame/width/height 常量甚至全新的框架。

感谢所有试图帮助我的人,经过一些研究我决定使用

self.button.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)

CGAffineTransform,而不是改变边界或框架。 现在一切正常