সুইফটে ব্লকগুলি তৈরি করতে আমার সমস্যা হচ্ছে। এখানে একটি উদাহরণ যা কাজ করেছে (সম্পূর্ণরূপে অবরুদ্ধ না করে):
UIView.animateWithDuration(0.07) {
self.someButton.alpha = 1
}
বা বিকল্পভাবে অনুসরণ বন্ধ না করে:
UIView.animateWithDuration(0.2, animations: {
self.someButton.alpha = 1
})
তবে একবার আমি সম্পূর্ণতা ব্লক যুক্ত করার চেষ্টা করলে এটি কার্যকর হবে না:
UIView.animateWithDuration(0.2, animations: {
self.blurBg.alpha = 1
}, completion: {
self.blurBg.hidden = true
})
স্বতঃপূরণ আমাকে দেয় completion: ((Bool) -> Void)?
তবে কীভাবে এটি কাজ করবে তা নিশ্চিত নয়। পিছনে বন্ধের চেষ্টা করেও একই ত্রুটি পেয়েছে:
! Could not find an overload for 'animateWithDuration that accepts the supplied arguments
সুইফ্ট 3/4 এর জন্য আপডেট:
// This is how I do regular animation blocks
UIView.animate(withDuration: 0.2) {
<#code#>
}
// Or with a completion block
UIView.animate(withDuration: 0.2, animations: {
<#code#>
}, completion: { _ in
<#code#>
})
আমি সমাপ্তি ব্লকের জন্য অনুসরণকারী বন্ধটি ব্যবহার করি না কারণ আমার ধারণা এটির স্বচ্ছতা নেই, তবে আপনি যদি এটি পছন্দ করেন তবে নীচে ট্রেভর এর উত্তর দেখতে পাবেন ।