Параметры анимации UIView с помощью Swift
Как установить UIViewAnimationOptions
to .Repeat
на UIView
анимация блок:
UIView.animateWithDuration(0.2, delay:0.2 , options: UIViewAnimationOptions, animations: (() -> Void), completion: (Bool) -> Void)?)
2 ответов
Swift 3
почти то же самое, что и раньше:
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)
Swift 2
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)
большинство наборов опций Cocoa Touch, которые были перечислениями до Swift 2.0, теперь были изменены на structs,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-двоичный оператор " | " не может быть применен к двум операндам UIUserNotificationType