এখানে সুইফ্টের একটি উদাহরণ যা প্রথমে একটি নতুন চিত্র দ্রবীভূত করবে এবং তারপরে বাউন্সি অ্যানিমেশন যুক্ত করবে:
var selected: Bool {
willSet(selected) {
let expandTransform:CGAffineTransform = CGAffineTransformMakeScale(1.15, 1.15);
if (!self.selected && selected) {
UIView.transitionWithView(self.imageView,
duration:0.1,
options: UIViewAnimationOptions.TransitionCrossDissolve,
animations: {
self.imageView.image = SNStockCellSelectionAccessoryViewImage(selected)
self.imageView.transform = expandTransform
},
completion: {(finished: Bool) in
UIView.animateWithDuration(0.4,
delay:0.0,
usingSpringWithDamping:0.40,
initialSpringVelocity:0.2,
options:UIViewAnimationOptions.CurveEaseOut,
animations: {
self.imageView.transform = CGAffineTransformInvert(expandTransform)
}, completion:nil)
})
}
}
}
var imageView:UIImageView
যদি imageView
সাবউভিউ হিসাবে দৃশ্যে সঠিকভাবে যুক্ত করা হয় তবে টুগলিংয়ের মধ্যে বাউনি অ্যানিমেশন দিয়ে ছবিটি অদলবদল selected = false
করা selected = true
উচিত। SNStockCellSelectionAccessoryViewImage
কেবলমাত্র বর্তমান নির্বাচনের অবস্থার উপর ভিত্তি করে একটি আলাদা চিত্র দেয়, নীচে দেখুন:
private let SNStockCellSelectionAccessoryViewPlusIconSelected:UIImage = UIImage(named:"PlusIconSelected")!
private let SNStockCellSelectionAccessoryViewPlusIcon:UIImage = UIImage(named:"PlusIcon")!
private func SNStockCellSelectionAccessoryViewImage(selected:Bool) -> UIImage {
return selected ? SNStockCellSelectionAccessoryViewPlusIconSelected : SNStockCellSelectionAccessoryViewPlusIcon
}
নীচের জিআইএফ উদাহরণটি কিছুটা ধীর হয়ে গেছে, আসল অ্যানিমেশনটি দ্রুত ঘটে: