मैं UIViewController गायब होने से पहले एनीमेशन का उपयोग करके नेविगेशन बार को छिपाना चाहता हूं।देखने के लिए एनीमेशन के लिए इंतजार कैसे करें DidDisappear?
-(void) viewWillDisappear:(BOOL) animated {
[UIView transitionWithView:self.view
duration:UINavigationControllerHideShowBarDuration
options:UIViewAnimationCurveEaseOut
animations:^{
[self.navigationController setNavigationBarHidden:YES];
}
completion:^(BOOL finished){
NSLog(@"animation finished");
}];
[super viewWillDisappear:animated];
}
समस्या यह है कि viewWillDisappear निष्पादित करने के लिए और बस लौट सकते हैं और पूरे दृश्य दूर एनीमेशन खत्म होने से पहले जाना होगा जारी रहेगा: इसलिए मैं निम्नलिखित लागू किया है। एनीमेशन के पूरा होने से पहले मैं वापस लौटने से विधि को कैसे रोक सकता हूं (जहां "एनीमेशन समाप्त हो गया" मुद्रित हो जाता है)।
आप इसे एनिमेट नहीं कर सकते हैं। हो सकता है कि आप 'setNavigationBarHidden: एनिमेटेड:' विधि की बजाय खोज रहे हैं? –
मैं 'setNavigationBarHidden: एनिमेटेड: 'का उपयोग नहीं करना चाहता क्योंकि यह आईओएस 4 (बायीं ओर स्लाइड) और आईओएस 5 (शीर्ष की तरफ स्लाइड) में अलग-अलग एनिमेट करता है। किसी भी तरह, इससे कोई फर्क नहीं पड़ता क्योंकि, 'setNavigationBarHidden: एनिमेटेड:' 'viewWillDisappear 'ब्लॉक के भीतर अभी भी एनीमेशन खत्म होने से पहले विधि वापस आती है। मुझे लगता है कि शायद दो धागे की जरूरत है? –