2016-04-30 12 views
6

के साथ दृश्य दृश्य ऊंचाई को देखें, मैंने अपने व्यू कंट्रोलर के अंदर sView देखा है। इसकी ऊंचाई में बाधा है - मैंने इस बाधा के लिए आईबीओलेट बनाया - sViewHeightConstraint। मैं एनीमेशन के साथ sView की ऊंचाई कम करना चाहता हूँ।स्विफ्ट

मैं समारोह को देखने के

UIView.animateWithDuration(5.5, animations: { 
       self.sViewHeightConstraint.constant = 50 
      }) 

ऊंचाई बदल रहा है बनाया है, लेकिन मैं किसी भी एनीमेशन नहीं दिख रहा। क्या मैं गलत हूं?

उत्तर

27

उपयोग layoutIfNeeded()

view.layoutIfNeeded() // force any pending operations to finish 

UIView.animateWithDuration(0.2, animations: {() -> Void in 
    self.sViewHeightConstraint.constant = 50 
    self.view.layoutIfNeeded() 
}) 

तेज 3

view.layoutIfNeeded() 
sViewHeightConstraint.constant = 50 

UIView.animate(withDuration: 1.0, animations: { 
    self.view.layoutIfNeeded() 
}) 
+0

धन्यवाद! क्या आप समझा सकते हैं - इस कोड का क्या अर्थ है? – moonvader

+0

@moonvader 'layoutIfNeeded' दृश्य बल पर समाप्त होने के लिए लंबित ऑपरेशन और फिर एनीमेशन ब्लॉक में फ्रेम परिवर्तनों को कैप्चर करें। अधिक जानकारी के लिए –

+0

। http://stackoverflow.com/questions/1182945/how-is-layoutifneeded-used की जांच करें –