如何在UIViewAnimationOptions
动画块中将.Repeat
设置为UIView
:
UIView.animateWithDuration(0.2, delay:0.2 , options: UIViewAnimationOptions, animations: (() -> Void), completion: (Bool) -> Void)?)
答案 0 :(得分:102)
和以前差不多:
UIView.animate(withDuration: 0.2, delay: 0.2, options: UIViewAnimationOptions.repeat, animations: {}, completion: nil)
除了你可以省略完整的类型:
UIView.animate(withDuration: 0.2, delay: 0.2, options: .repeat, animations: {}, completion: nil)
您仍然可以组合选项:
UIView.animate(withDuration: 0.2, delay: 0.2, options: [.repeat, .curveEaseInOut], animations: {}, completion: nil)
UIView.animateWithDuration(0.2, delay: 0.2, options: UIViewAnimationOptions.Repeat, animations: {}, completion: nil)
UIView.animateWithDuration(0.2, delay: 0.2, options: .Repeat, animations: {}, completion: nil)
UIView.animateWithDuration(0.2, delay: 0.2, options: [.Repeat, .CurveEaseInOut], animations: {}, completion: nil)
答案 1 :(得分:13)
大多数Cocoa Touch'选项'在Swift 2.0之前作为枚举的集合现在已经更改为结构,UIViewAnimationOptions
就是其中之一。
以前UIViewAnimationOptions.Repeat
以前定义为:
(半伪代码)
enum UIViewAnimationOptions {
case Repeat
}
现在定义为:
struct UIViewAnimationOption {
static var Repeat: UIViewAnimationOption
}
重点是,为了实现之前使用位掩码(.Reverse | .CurveEaseInOut
)所取得的成果,您现在需要将选项放在数组中,或者直接放在options
参数之后,或者在使用之前在变量中定义:
UIView.animateWithDuration(0.2, delay: 0.2, options: [.Repeat, .CurveEaseInOut], animations: {}, completion: nil)
或
let options: UIViewAnimationOptions = [.Repeat, .CurveEaseInOut]
UIView.animateWithDuration(0.2, delay: 0.2, options: options, animations: {}, completion: nil)
有关详细信息,请参阅用户@ 0x7fffffff的以下答案:Swift 2.0 - Binary Operator “|” cannot be applied to two UIUserNotificationType operands
答案 2 :(得分:0)
快捷键5
UIView.animate(withDuration: 0.2, delay: 0, options: UIView.AnimationOptions.curveEaseInOut, animations: {}, completion: nil)