在 Swift 中为 UIButton 设置动画

Posted

技术标签:

【中文标题】在 Swift 中为 UIButton 设置动画【英文标题】:Animate UIButton down in Swift 【发布时间】:2015-02-27 11:45:25 【问题描述】:

我正在Swift 制作我的第一款游戏,我想知道如何在用户按下按钮时为 Z 位置(或缩小和放大)的按钮设置动画。

虽然我找到了答案,但我找到的所有内容都写在 Objective-C 中,而且由于我是编码新手,所以我很难将 Obj-C 翻译成 Swift

这是我发现的:

UIButton *button = (UIButton*)sender;

//animates button 25 pixels right and 25 pixels down. Customize
CGRect newFrame = CGRectMake(button.frame.origin.x + 25, button.frame.origin.y + 25, button.frame.size.width, button.frame.size.height);

[UIView animateWithDuration:0.3f
                      delay:0.0f
                    options: UIViewAnimationOptionCurveLinear
                 animations:^
                     [button setFrame:newFrame];
                 
                 completion:nil];

【问题讨论】:

你有什么问题? 好吧,我不知道它在 Obj-C 中的含义,所以我正在寻找可以帮助我将其翻译成 swift 的人,以便我可以在我的代码中实现它。 【参考方案1】:

试试这个

@IBAction func clicked(sender: AnyObject) 

    button = sender as UIButton

    UIView.animateWithDuration(1.0, animations:
        self.button.frame = CGRectMake(self.button.frame.origin.x + 25, self.button.frame.origin.y + 25, self.button.frame.size.width, self.button.frame.size.height)
    )


更多信息请阅读这篇文章http://mathewsanders.com/prototyping-ios-iPhone-iPad-animations-in-swift/

【讨论】:

哦,很抱歉投了反对票...我已经将按钮嵌套在很多视图中,并且发现您的代码可以正常工作; *** 不会让我支持它

以上是关于在 Swift 中为 UIButton 设置动画的主要内容,如果未能解决你的问题,请参考以下文章

使用 Swift 3 为 iOS 中的 UIButton 设置“背景颜色”动画

如何在 Swift 中为 NSLayoutConstraint 设置动画?

在 Swift 中为对象设置动画?

如何在 iOS 中为两个 UIView 翻转设置动画?

如何在swift中为边框颜色变化设置动画

使用 Swift 自动布局动画 UIButton