我正在使用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
设置动画?
有什么想法在这里发生了什么?非常感谢提前。
答案 0 :(得分:2)
静态方法只能在它实现的类上调用:
UIView.animate(withDuration: 2.0, animations: {
//Do something with launchScreenBG here. For example:
self.launchScreenBG.alpha = 0.0
})
此方法基本上为块中提供的所有视图更新(本例中为透明度)设置动画。