8

मेरे टैब-बार में मेरे पास चार व्यू कंट्रोलर हैं, और दूसरे में क्या होता है, दूसरे के दृश्य को प्रभावित कर सकते हैं, इसलिए दृश्यमान होने पर मुझे कुछ तत्वों को फिर से लोड करने की आवश्यकता हो सकती है। आम तौर पर मैं इसे ViewWillAppear को लागू करके ठीक कर दूंगा, लेकिन जब मैं टैब के बीच स्विच करता हूं, तो ViewWillAppear को कॉल नहीं लगता है। मैं इसे कैसे ठीक कर सकता हूं, या इसके बजाय मुझे क्या करना चाहिए?viewWillAppear एक टैबबार के दृश्य नियंत्रकों में

अद्यतन: एक पी एस के रूप में मैं जोड़ने चाहिए कि यह एक navigationController पदानुक्रम में एक TabBarController

चीयर्स

Nik

है
+0

मैं इसे एक ही समस्या है यकीन नहीं है ... लेकिन लूटने के लिए लायक हो सकता है http://stackoverflow.com/questions/131062/iphone-viewwillappear-not-firing/8157562#8157562 – Sean

उत्तर

-1

viewWillAppear केवल जब दृश्य का प्रकटन इस्तेमाल किया जाना चाहिए, न कि यह अद्यतन करने के लिए ।

setNeedsDisplay का उपयोग viewController के दृश्य पर करें।

+0

मैं setNeedsDisplay कहां से कॉल करूं? समस्या यह है कि जब उपयोगकर्ता टैबबार – niklassaers

+1

से नया व्यू कंट्रोलर चुनता है तो मुझे एक हुक चाहिए, ओह, सोरी, मैंने यहां कुछ चीजें मिश्रित की हैं। मुझे यकीन नहीं है कि ViewWillAppear क्यों नहीं जा रहा है, लेकिन मुझे इसके चारों ओर एक रास्ता पता है: कुछ ऑब्जेक्ट को एक टैबबारकंट्रोलर प्रतिनिधि बनाएं, और यह संदेश भेजेगा, कि एक नया दृश्य चुना गया था, और कॉल व्यू होगा वहां से दिखाई देते हैं। – tadejsv

+0

एक दिलचस्प विचार की तरह लगता है, मैं कल कोशिश करूँगा :-) – niklassaers

7

आप उपयोग कर सकते हैं tabbar नियंत्रक प्रतिनिधि एक आकर्षण

 
-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    [viewController viewWillAppear:YES]; 

} 
1

और मामले में आप इस सवाल को खोजने क्योंकि आप कुछ अद्यतन करने के लिए चाहते हैं की तरह काम करता UITabBarController में, ओपी के प्रश्न की तरह UITabBarController के UIViewControllers पर नहीं। उदाहरण के लिए, कस्टम UITabBarButton छुपाएं या प्रदर्शित करें। स्विफ्ट 3.0 में ओवरराइडिंग UITabBarController वर्ग ने मेरे लिए काम किया।

override func setNeedsStatusBarAppearanceUpdate() { 

} 
संबंधित मुद्दे