ios - Separate title in NavigationBar and navigation buttons -


अरे, मेरे पास UIViewController s एक UINavigationController । आम तौर पर शीर्षक (या नेविगेशनइटम खिताब शीर्षक) ने नेविगेशनबार (शीर्ष पर प्रदर्शित) में दिखाए गए शीर्षक के बारे में फैसला किया है और सभी नेविगेशन बटन, उदाहरण के लिए बैक-बटन नेविगेशन बार में ही।

अब मैं नेविगेशनबार के शीर्षक में थोड़ी अधिक जानकारी डालने की योजना बना रहा हूं, जबकि उन बटन लेबलों को संक्षिप्त और संक्षिप्त रखते हुए (उदाहरण के तौर पर दृश्य)।

मैं वर्तमान में प्राप्त करने की कोशिश कर रहा हूँ यह ViewWillAppear और ViewWillDisappear पर नेविगेशनइटेम के शीर्षक को बदलकर। यह अच्छी तरह से काम करता है, लेकिन कोई ऐसे क्षण देख सकता है जहां पाठ बदलता है (संभवतः एनीमेशन के कारण)। मैंने ViewDidAppear और ViewDidDisappear के साथ विभिन्न संयोजनों की कोशिश की है, लेकिन प्रभाव केवल विल तरीकों से सर्वोत्तम था इसके लिए एक उदाहरण कोड नीचे दिखाया गया है ( उदाहरण वर्ग को यूआईएविगेशन नियंत्रक के लिए धकेल दिया गया है)।

क्या इसको प्राप्त करने का बेहतर तरीका है? संभवत: बस बटन खिताब केवल को बदलकर या सीधे नेविगेशन शीर्षक को बदलने के साथ? या फिर मैं मानक तंत्र को अन्य सभी उदाहरणों में शीर्षक की प्रतिलिपि से रोक सकता हूं?

  सार्वजनिक वर्ग उदाहरण: UIViewController {निजी int गहराई; सार्वजनिक उदाहरण (int गहराई = 0) {this.depth = गहराई; This.Title = "शीर्षक"; } सार्वजनिक ओवरराइड शून्य ViewDidLoad () {base.ViewDidLoad (); UIButton बीटीएन = नया UIButton (नया आयतफ़ील्ड एफ (100, 100, 300, 50)); बीटीएन। सर्टिटल ("डुप्लिकेट मी!", यूआईसीओन्टोलस्टेट। सामान्य); Btn.TouchDown + = प्रतिनिधि (ऑब्जेक्ट प्रेषक, EventArgs ई) {NavigationController.PushViewController (नया उदाहरण (गहराई + 1), सच); }; देखें। जोड़ें (बीटीएन); } सार्वजनिक ओवरराइड शून्य ViewWillAppear (bool एनिमेटेड) {base.ViewWillAppear (एनिमेटेड); This.NavigationItem.Title = String.Format ("शीर्षक / {0}", गहराई); } सार्वजनिक ओवरराइड शून्य ViewWillDisappear (bool एनिमेटेड) {base.ViewWillDisappear (एनिमेटेड); This.NavigationItem.Title = "शीर्षक"; }}    

अगर मैं आपको सही ढंग से समझता हूं, तो मुझे लगता है कि इसके लिए तैयार है :

अपने दृश्य नियंत्रक के नेविगेशन आइटम पर बैरबुटोनइटम वापस सेट करें।

Comments