繁体   English   中英

Swift中的UIButton动画

[英]Working UIButton animations in Swift

我一直在尝试使此代码段正常工作,但是我似乎无法让我的UIButton通过图像进行动画处理。

@IBOutlet weak var screenButton: UIButton!;

func animation(){
        var animationButton : UIButton!; 
        var imageList = [UIImage]();
        var image1:UIImage = UIImage(named:"3fingers-o-l-animation1.png")!;
        var image2:UIImage = UIImage(named:"4fingers-o-l-animation1.png")!;

        animationButtonscreenButton = screenButton;
        imageList = [image1, image2];

        animationButton!.imageView!.animationImages = imageList;
        animationButton!.imageView!.animationDuration = 1.0;
        animationButton!.imageView!.startAnimating();
    }

编写此代码后,我已从screenButton拖动一条线到要在情节提要中的图像上进行动画处理的按钮。 我究竟做错了什么?

您需要做的是不要在函数animation重新初始化UIButton 因此,注释掉这一行:

//var animationButton : UIButton!

除了仅拥有IBOutlet ,我们还需要为您的函数animation提供IBAction 通过控制将一条“线”拖动到功能块上,来完成与按钮相同的操作(检查IBAction ,而不是IBOutlet )。

在您仍处于情节提要中的情况下,进行了一些逐步操作:


  • 您仅有的一个按钮名为: animationButton ,这是通过拖曳“行”从情节提要到代码的IBOutlet

  • 对于您的animation功能:按住Control键并将情节提要中的按钮从“线”拖动到animation功能的块。

  • 在情节提要中为您设置一个初始图像按钮,下面将对此进行介绍。

另外,我们需要在情节提要中设置初始图像; 否则,按钮的图像属性为nil

请在情节提要中执行此操作,方法是单击右侧的“属性检查器”,然后在显示“图像”的位置设置图像。 作为测试,我将其设置为“ 1.jpg”。

因此,您的代码应如下所示:

@IBOutlet weak var animationButton: UIButton!
@IBAction func animation()
{
    print("button touched")
    //var animationButton : UIButton!
    var imageList = [UIImage]()
    var image1:UIImage = UIImage(named:"1.jpg")!
    var image2:UIImage = UIImage(named:"2.jpg")!

    //animationButtonscreenButton = screenButton;
    imageList = [image1, image2];

    animationButton!.imageView!.animationImages = imageList
    animationButton!.imageView!.animationDuration = 1.0
    animationButton!.imageView!.startAnimating()
}

进行快速测试; 它获得触摸事件,并且图像在按钮上进行动画处理。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM