我在应用程序中有以下代码用于测试NVActivityIndicatorView的实现:
@IBAction func goButtonPressed(_ sender: Any) {
self.startAnimatingActivityIndicator()
sleep(2)
self.stopAnimatingActivityIndicator()
}
我的应用程序中的视图控制器也具有以下扩展名:
extension UIViewController: NVActivityIndicatorViewable {
func startAnimatingActivityIndicator() {
let width = self.view.bounds.width / 3
let height = width
let size = CGSize(width: width, height: height)
startAnimating(size, message: "Loading...", type: NVActivityIndicatorType.circleStrokeSpin)
}
func stopAnimatingActivityIndicator() {
self.stopAnimating()
}
}
加载动画可以在同一视图控制器中的其他地方工作(即viewDidLoad()
函数),但是由于某种原因,我无法使加载动画在此按钮上起作用。该按钮正确连接,因为该应用程序确实在适当的时间睡眠了,但是加载的动画无法运行。
预先感谢您的帮助!
答案 0 :(得分:0)
@FryAnEgg随附解决方案! sleep(2)
阻止了加载动画的运行。
这是我更新的代码:
@IBAction func goButtonPressed(_ sender: Any) {
self.startAnimatingActivityIndicator()
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
self.stopAnimatingActivityIndicator()
}
}
答案 1 :(得分:0)
该指示器不会旋转,因为主线程处于睡眠状态。请改用2秒计时器关闭旋转功能。