Swift - 静态成员animate不能用于uiview类型的实例

时间:2017-05-23 05:19:59

标签: ios swift

我正在使用pod EasyAnimate而我正在尝试做一些非常简单的事情,但是我收到了这个错误:

  

静态成员animate不能用于uiview类型的实例

我在闭包中使用此代码,该闭包检测API请求何时完成。这是在viewDidLoad函数中,它位于我的ViewController中。我删除了不相关的代码,以便于阅读。

import UIKit
import Alamofire
import EasyAnimation

class WeatherVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

    //Launchscreen Outlets
    @IBOutlet weak var launchScreenImage: UIImageView!
    @IBOutlet weak var launchScreenLbl: UILabel!
    @IBOutlet weak var launchScreenBG: UIView!


    override func viewDidLoad() {
        super.viewDidLoad()

        currentWeather = CurrentWeather()
        currentWeather.downloadWeatherDetails {
            self.downloadForecastData {
                self.updateMainUI()

                // Start animation from launch screen
                launchScreenBG.animate(duration: 2.0, animations: { <<<ERROR HERE
                    self.view.layer.position.x = 200.0
                })
            }

        }

    }


}

我认为这个.animate函数适用于所有UIViews,但我不确定问题是什么。它似乎并不关心它是否在一个闭包中,如果我在UILabel名称之前添加self.似乎并不重要。

我可以看到这个pod允许类的动画。但是,如何为IBOutlet设置动画?

有什么想法在这里发生了什么?非常感谢提前。

1 个答案:

答案 0 :(得分:2)

静态方法只能在它实现的类上调用:

UIView.animate(withDuration: 2.0, animations: { 
   //Do something with launchScreenBG here. For example:
   self.launchScreenBG.alpha = 0.0
})

此方法基本上为块中提供的所有视图更新(本例中为透明度)设置动画。