टैब बार के माध्यम से एक MKMapView को एक्सेस करना

वोट
4

मैं एक tabbar आवेदन किया है और पहले टैब पर मैं एक है MKMapView। मुझे क्या करना चाहते हैं कहीं और आवेदन में से है, MapView को सक्रिय टैब स्विच और MapView के पिछले दृश्य में डेटा के आधार पर क्षेत्र (बटन के साथ एक MapView करने के लिए स्विच करने के लिए) की स्थापना की।

क्या मैं कोशिश की है है:

[self.tabBarController setSelectedView:0];
UIMapViewController *mapView = [self.tabBarController.viewControllers objectAtIndex:0];
[mapView displayBookmarkAnnotation:bookmark];

यह सिर्फ विधि मैं बनाया खोजने में असमर्थ दुर्घटना एप्लिकेशन का कारण बनता है। मुझे नहीं लगता कि मैं इस लागू करने के लिए सबसे अच्छा रास्ता चुन लिया है, लेकिन मैं वास्तव में यकीन है कि कैसे मैं इसके बारे में जाना चाहिए नहीं कर रहा हूँ।

[अपडेट] नियंत्रक द्वारा दिया कास्टिंग tabBarControllerथा कोई प्रभाव नहीं।

[हल] मैं एक कास्ट करने के लिए कोशिश कर रहा था UINavigationControllerमेरी MapView को

[self.tabBarController setSelectedView:0];
UINavigationController *navController = [self.tabBarController.viewControllers objectAtIndex:0];
//if the tab has other views open, return to mapView
[navController popToRootViewControllerAnimated:YES];
UIMapViewController *mapView = (UIMapViewController *)[navController visibleViewController];
[mapView customMessage:object];
26/01/2010 को 03:08
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
1

क्या आप वाकई जाता है कि टैब के लिए मुख्य दृश्य नियंत्रक नहीं एक UINavigationController हैं? यदि हां, तो आपको लगता है कि जो अपने UIMapViewController होना चाहिए के लिए रूट दृश्य नियंत्रक मिल सकती है।

यह AppDelegate में एक सीधा संदर्भ डाल करने के लिए हालांकि, अगर आप कहीं और से यह बुला जा रहे हैं अच्छा होगा।

26/01/2010 को 06:57
का स्रोत उपयोगकर्ता

वोट
0

क्यों अपने AppDelegate के माध्यम से यह मार्ग नहीं? AppDelegate एक हो सकता है UITabBarControllerऔर MKMapView(दोनों इंटरफ़ेस बिल्डर के माध्यम से वायर्ड।) UIButtonहैंडलर तो भी AppDelegate में होगा इतना है कि यह कॉल कर सकते हैं -[UITabBarController setSelectedView:]और -[MKMapView setRegion:]

26/01/2010 को 05:46
का स्रोत उपयोगकर्ता

वोट
0

क्या आप क्या करना चाहते एक उपवर्ग या UITabBarController के एक वर्ग बना है कि

  1. NotificationCenter घटनाओं आपके द्वारा निर्धारित रजिस्टरों
  2. एक नए चयनकर्ता के साथ घटनाओं को संभालती है। मैं आम तौर पर कर का उपयोग / उनके लिए नामकरण परिपाटी था।

घटना के माध्यम से आता जब आप SelectedIndex निर्धारित किया है।

26/01/2010 को 05:35
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more