簡體   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