当前位置 : 首页 » 互动问答 » 正文

在Swift中使用UIButton动画

分类 : 互动问答 | 发布时间 : 2015-08-18 18:37:36 | 评论 : 1 | 浏览 : 1006 | 喜欢 : 0

我一直试图让这个代码工作,但我似乎无法让我的UIButton通过图像进行动画处理。

 @IBOutlet弱var screenButton:UIButton !;

func animation(){
        var animationButton:UIButton !;
        var imageList = [UIImage]();
        var image1:UIImage = UIImage(命名为:“3fingers-o-l-animation1.png”)!
        var image2:UIImage = UIImage(命名为:“4fingers-o-l-animation1.png”)!

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

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

写完这段代码之后,我从screenButton拖动了一行到我想通过Storyboard中的图像设置动画的按钮。 我究竟做错了什么?

回答(1)

  • 1楼
  • 你需要做的是不要在UIButton函数中重新初始化animation;所以,注释掉这一行:

     // var animationButton:UIButton!
    

    除了只有一个IBOutlet,我们还需要一个IBAction给你的函数animation。通过控制拖动“行”到功能块来做和按钮相同的事情(检查IBAction, not IBOutlet).

    当你还在故事板中时有点漫游:


    • 你只有一个按钮被命名: animationButton ,它是从故事板到控件拖动“行”的IBOutlet

    • For your animation函数: 控制 - 从故事板中的按钮“行”拖动到animation function.

    • 的块中为故事板中的按钮设置一个初始图像,这将在下面稍后提及

    此外,我们需要设置一个故事板中的初始图像;否则,该按钮的图像属性是nil.

    请在故事板中通过单击右侧的“属性检查器”来执行此操作,然后将图像设置为“图像”。作为测试,我将其设置为“1.jpg”。

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

     @IBOutlet weak var animationButton:UIButton!
    @IBAction func动画()
    {
        打印(“按钮触摸”)
        // 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()
    }
    

    只是跑了一个快速测试;它会获得触摸事件和按钮上的动画图像。希望这可以帮助。

相关阅读: