मैं एक टैब बार नियंत्रक जो तब बंद हाथ है एक नौसेना नियंत्रक (फ्लाईआउटनावंटॉलर के साथ एक स्टोरीबोर्ड में भी)। यहां से देखने वाले व्यू कंट्रोलर में से एक MT.D सामान के लिए एक संवाददृश्य नियंत्रक में लॉन्च हुआ।
मैं नेविगेशन नियंत्रक में अपने कॉलिंग पॉइंट पर वापस मोनोटच संवाद से एक सुंदर पॉइंट/पतला बैक बटन चाहता था।
लेकिन किसी भी कारण से वर्तमान नेविगेशन नियंत्रक का उपयोग करते समय एमटी.डी में लॉन्च करना भी नेविगेशन खो देता है यानी बटन वापस प्रदर्शित नहीं होता है और वापस पाने का कोई तरीका नहीं है। बाद में mt.d स्क्रीन एक बैक बटन देते हैं।
जाहिर है आपके मेरे लिए मौजूदा ढेर पर जोर दे रहा है जबकि बटन लेकिन यह फ्लॉप काम वापस सक्षम करने के लिए कॉल में एक सच्चे बूलियन पारित करने के लिए माना जाता:
this.NavigationController.PushViewController (dv, true);
दान के ऊपर मेरे लिए समाधान फ्लॉप काम। लेकिन रूट पर एमटी.डी स्क्रीन मूल संवाद नियंत्रक (या flyoutnav नियंत्रक) में मेरी पिछली स्थिति पर वापस जाने में मदद करता है, जबकि वर्तमान संवाददृश्य नियंत्रक popping।
सुनिश्चित नहीं है कि यह हैक सही तरीका है लेकिन यह काम करता है।
dvc = new MyDvcController(this.NavigationController);
this.View.AddSubview(dvc.TableView);
इसी MyDvcController मुख्य रूप से इस तरह loooks:
public partial class MyDvcController : DialogViewController
{
public MyDvcController (UINavigationController nav): base (UITableViewStyle.Grouped, null)
{
navigation = nav;
Root = new RootElement ("Demos"){
new Section ("Element API"){
new StringElement ("iPhone Settings Sample", DemoElementApi),
}
};
}
}
dv.NavigationItem.RightBarButtonItem = new UIBarButtonItem("Back",UIBarButtonItemStyle.Bordered,delegate(object sender,EventArgs e)
{
NavigationController.PopViewControllerAnimated(true);
});
* अद्यतन
मैं वर्तमान viewcontrollers subview को dialogviewcontroller जोड़कर एक वापस बटन पाने के लिए manged
यह monotouch.dialog को वर्तमान नेविगेशन नियंत्रकों के ढेर का हिस्सा बनने और पतला दिखने के साथ स्वचालित बैक बटन प्राप्त करने की इजाजत दी ..yay
बीटीडब्लू, सभी "सच्चे" पैरामीटर को नेविगेशनइटम। हैड्सबैक बटन को गलत पर सेट किया गया है। यह ViewWillAppear विधि में करता है, इसलिए यदि आप उस विधि को ओवरराइड करते हैं तो आप फिर से दिखाने के लिए बैक बटन प्राप्त कर सकते हैं। यह उपयोगी है अगर आप एक स्टोरीबोर्ड के माध्यम से DialogViewController को दबा रहे हैं। –