UIViewAnimationOptions
アニメーションブロックでUIView
を.Repeat
に設定するにはどうすればよいですか。
UIView.animateWithDuration(0.2, delay:0.2 , options: UIViewAnimationOptions, animations: (() -> Void), completion: (Bool) -> Void)?)
以前とほとんど同じです:
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)
Swift 2.0より前の列挙型であったCocoa Touchのほとんどの 'オプション'セットは、構造体に変更されました。UIViewAnimationOptions
はそのうちの1つです。
一方、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-バイナリ演算子「|」は2つのUIUserNotificationTypeオペランドに適用できません