9

से लोड किए गए एक यूआईएनएविगेशन नियंत्रक को रीफ्रेश UIBarButtonItem जोड़ना मेरे पास UITabBarController के पहले टैब में एक UINavigationController लोड हो रहा है। मैं UINavigationItem के दाईं ओर एक ताज़ा बटन जोड़ना चाहता हूं। मेरी मंद समझ यह है कि किसी को नेविगेशन नियंत्रक पर से पहले शीर्षक पदानुक्रम में जोड़ा गया है, इसे शीर्षक पदानुक्रम में जोड़ा गया है। मुझे बाल नौसेना नियंत्रक को बटन जोड़ने में कोई समस्या नहीं है, लेकिन मैं रूट को बदलने के तरीके से फंस गया हूं, क्योंकि यह निब से लोड हो रहा है।एनआईबी

तो नीचे आईबी स्क्रीनकैप में (ओह, पर्याप्त प्रतिष्ठा अंक नहीं, मुझे इसे चित्रित करने का प्रयास करें ....), मैं चयनित आइटम में रीफ्रेश बटन जोड़ने की कोशिश कर रहा हूं।

  • फ़ाइल के मालिक
  • प्रथम प्रत्युत्तर
  • अनुप्रयोग प्रतिनिधि
  • विंडो
  • टैब बार नियंत्रक
    • टैब बार
    • अवलोकन सूची दृश्य नियंत्रक
      • Navig समझना बार
      • नियंत्रक देखें
        • तालिका देखें
        • नेविगेशन आइटम
      • टैब बार आइटम
    • एक और सूची दृश्य नियंत्रक
    • आदि
    • आदि

मैं नव नियंत्रक के viewDidLoad में बटन जोड़ने के लिए कोशिश की है, कोई मदद से:

- (void)viewDidLoad { 
[super viewDidLoad]; 

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
     initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
     target:self 
      action:@selector(refresh:)]; 
} 

मैं भी प्रोग्राम के रूप में UITabBarController करने के लिए अपने ObservationListViewController जोड़ सकते हैं और बटन डालने के लिए कोशिश की है उस ब्लॉक में, लेकिन मैं अपनी गहराई से बाहर हूं।

कोई विचार है कि मैं निब से एनएवी नियंत्रक लोड करने की प्रक्रिया में एक बटन जोड़ने को कैसे इंजेक्ट कर सकता हूं?

धन्यवाद!

उत्तर

21

ऐसा लगता है कि आपकी दृश्य डिडलोड विधि आवंटित है लेकिन बार बटन आइटम जारी नहीं कर रही है। आप यह करते हैं चाहिए:

UIBarButtonItem *button = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh 
    target:self 
     action:@selector(refresh:)]; 
self.navigationItem.rightBarButtonItem = button; 
[button release]; 

आप इस नव नियंत्रक में नहीं करने की ज़रूरत है, लेकिन यह नेविगेशन नियंत्रक के भीतर निहित है जड़ दृश्य नियंत्रक में। दूसरे शब्दों में, इसे "देखें कंट्रोलर" में नहीं "निरीक्षण सूची देखें नियंत्रक"

एनवी नियंत्रक पर आपके द्वारा नियंत्रित प्रत्येक नियंत्रक के पास यह स्वयं का स्वयं हो सकता है। NavigationItem.जो भी और यह एनएवी नियंत्रक द्वारा प्रदर्शित किया जाएगा जब नया नियंत्रक अपने ढेर पर धक्का दिया जाता है।

+1

निम्रोद, आप चट्टान! एक स्पष्टीकरण भी मैं पालन कर सकता हूँ! – Scott