मुझे स्विफ्ट पर काम करने में परेशानी हो रही है। यहां एक उदाहरण दिया गया है जिसने काम किया है (बिना पूरा किए ब्लॉक):
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#>
})
मैं पूर्णता ब्लॉक के लिए अनुगामी क्लोजर का उपयोग नहीं करता हूं क्योंकि मुझे लगता है कि इसमें स्पष्टता का अभाव है, लेकिन यदि आप इसे पसंद करते हैं तो आप नीचे ट्रेवर के जवाब देख सकते हैं ।