Options d'animation UIView à L'aide de Swift
Comment définir le UIViewAnimationOptions
sur .Repeat
dans un bloc d'animation UIView
:
UIView.animateWithDuration(0.2, delay:0.2 , options: UIViewAnimationOptions, animations: (() -> Void), completion: (Bool) -> Void)?)
2 réponses
Swift 3
À peu près la même chose qu'avant:
UIView.animate(withDuration: 0.2, delay: 0.2, options: UIViewAnimationOptions.repeat, animations: {}, completion: nil)
Sauf que vous pouvez omettre le type complet:
UIView.animate(withDuration: 0.2, delay: 0.2, options: .repeat, animations: {}, completion: nil)
Et vous pouvez toujours combiner les options:
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)
La plupart des ensembles d'options Cocoa Touch qui étaient des énumérations antérieures à Swift 2.0 ont maintenant été changés en structures, UIViewAnimationOptions
étant l'un d'entre eux.
Alors que UIViewAnimationOptions.Repeat
aurait été précédemment défini comme:
(semi-pseudo code)
enum UIViewAnimationOptions {
case Repeat
}
, Il est maintenant défini comme:
struct UIViewAnimationOption {
static var Repeat: UIViewAnimationOption
}
Étant donné que, pour réaliser ce qui a été réalisé avant l'utilisation de bitmasks (.Reverse | .CurveEaseInOut
), vous devrez maintenant placer les options dans un tableau, soit directement après le paramètre options
, soit défini dans une variable avant utilisation:
UIView.animateWithDuration(0.2, delay: 0.2, options: [.Repeat, .CurveEaseInOut], animations: {}, completion: nil)
Ou
let options: UIViewAnimationOptions = [.Repeat, .CurveEaseInOut]
UIView.animateWithDuration(0.2, delay: 0.2, options: options, animations: {}, completion: nil)
Veuillez vous référer à la réponse suivante de l'utilisateur @0x7fffffff pour plus d'informations: Swift 2.0-L'opérateur binaire " | " ne peut pas être appliqué à deux opérandes UIUserNotificationType