为什么UIAnimation中的完成处理程序类型为((Bool) - > Void)?布尔的目的是什么?

时间:2017-03-14 19:30:58

标签: swift uianimation completionhandler

例如

    UIView.animate(withDuration: 0.5, animations: { 
        self.datePickerView.center.y = self.view.frame.height + (self.datePickerView.frame.height/2)
        self.datePickerOverlay.alpha = 0.0
    }) { (true) in
        self.view.sendSubview(toBack: self.datePickerOverlay)
        self.view.sendSubview(toBack: self.datePickerView)
    }
}

我理解完成块是一个闭包,您可以在其中执行动画后要执行的任务。我不能得到的是布尔的功能。如你所见,我把true放在bool应该的位置。

但是,我想知道那个bool是什么意思代表什么,谁在UIView.aniamteWithDuration()中称那个bool。

bool是否可以代表finished(从某种意义上说,一旦动画完成finished为真)?或者是bool想要成功(在某种意义上说,如果动画成功完成success将是真的)?

谢谢!

1 个答案:

答案 0 :(得分:1)

The Developer Reference说:

  

动画序列结束时要执行的块对象。这个   block没有返回值,并使用 一个布尔参数   表示动画是否真正在之前完成   完成处理程序被称为 。如果动画的持续时间为0,   该块在下一个运行循环周期的开始执行。   此参数可能为NULL。