当前位置: 首页 > 知识库问答 >
问题:

如何在swift中为现有按钮设置动画

解念
2023-03-14

我想在swift中设置一个现有UIButton的动画,目的是让用户在点击视图控制器时注意这个按钮。动画应该从视图控制器的顶部开始,并转到按钮的初始位置。

我做了以下场景,但它不起作用:

import UIKit

class ViewController: UIViewController {
@IBOutlet var dismissButton: UIButton!


override func viewDidLoad() {
    super.viewDidLoad()

    dismissButton = UIButton()

    var tapGesture = UITapGestureRecognizer(target: self, action: Selector("handleTapGesture:"))
    view.addGestureRecognizer(tapGesture)

}



func handleTapGesture(tapGesture: UITapGestureRecognizer) {
    println("tap")

    UIView.animateWithDuration(2.0, delay: 0.5, usingSpringWithDamping: 0.2, initialSpringVelocity: 0.0, options: nil, animations: {

        self.dismissButton.center = CGPoint(x: 200, y: 90 + 200)
        }, completion: nil)
}


}

有什么建议吗?

非常感谢。

共有1个答案

皇甫俊雅
2023-03-14

步骤1:获取按钮的顶部约束的IBOutlet;步骤2:使用constraintName更新约束的常量。常量属性第3步:在动画块类型中。看法layoutIfNeeded()

下面是一个简单的示例:https://stackoverflow.com/a/26040569/3411787

 类似资料:
  • 问题内容: 如何删除后退按钮文本。 当前的后退按钮: <返回 所需的后退按钮: <其他 这些都不起作用: 后退按钮属于上 一个 视图控制器,而不是当前在屏幕上显示的那个。 要修改后退按钮,您应该 在 启动segue的视图控制器上 在 按下按钮 之前 对其 进行 更新: 斯威夫特3、4和5: 要么

  • 问题内容: 我想制作一个UIImageView动画。我声明了NSLayoutConstraintin viewDidLoad并使用了以下代码: 为什么我的图像不动? 问题答案: 在您按下时viewDidLoad,约束引擎尚未 应用,并且视图的起始位置尚未建立。 因此,可以随时在中添加原始约束viewDidLoad,但是您 需要将推迟到animateWithDuration该过程的后面(例如 vie

  • 问题内容: 这是推特的一些代码和平…我想知道如何像在iOS堆栈照片应用程序中一样获得共享操作视图… 问题答案:

  • 在我的活动中,我有一个listview和一个按钮。每一个都有各自的目的。 我的listview显示另一个活动中的项目详细信息。 问题是如何在相同的活动中为按钮实现onClickListener?

  • 问题内容: 我不知道如何在按钮上设置背景渐变(不使背景渐变成为图像)。这与Android截然不同。 这是我必须定义一个可返回的渐变方案的类: 我可以使用以下方法设置整个视图的背景: 但是,如何访问按钮的视图并插入子层或类似内容? 问题答案: 您的代码工作正常。您只需要记住每次都要设置渐变的帧。最好仅使渐变类别也为您设置视图的框架。 这样,您就不会忘记,它也很好。 按钮是视图。对其应用渐变的方式与将