मेरे पास वास्तव में लंबे शीर्षक के साथ एक अभिभावक दृश्य नियंत्रक था। इसके परिणामस्वरूप चाइल्ड व्यू कंट्रोलर के शीर्षक में बैक बटन टेक्स्ट ब्लीडिंग हुई।
विभिन्न समाधानों के एक समूह की कोशिश करने के बाद, मैंने यही किया (@ john.k.doe दृष्टिकोण पर विस्तार करते हुए):
Xcode 7.2, स्विफ्ट 2 का उपयोग करना
- स्टोरीबोर्ड में, एक जोड़ने
Navigation Item
के लिए जनक देखें नियंत्रक दृश्य (चाइल्ड वीसी)
- पर
Attributes Inspector
अपने नए की Navigation Item
, एक में टाइप space
में चरित्र Back Button
क्षेत्र। इस पर और बाद में।
- में जनक दृश्य नियंत्रक, निम्न कोड जोड़ें:
टुकड़ा:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segue.destinationViewController {
case is ChildViewController:
navigationItem.backBarButtonItem?.title = ""
default:
navigationItem.backBarButtonItem?.title = "Full Parent Title"
}
}
स्पष्टीकरण:
बैक बटन माता-पिता दृश्य नियंत्रक का है। Navigation Item
आप वापस बटन के लिए एक संभाल, तो आप कोड में या स्टोरीबोर्ड में शीर्षक सेट कर सकते हैं देता है।
ध्यान दें:
यदि आप Navigation Item
Back Button
टेक्स्ट को डिफ़ॉल्ट खाली स्ट्रिंग के रूप में छोड़ देते हैं , तो बैक बटन शीर्षक "बैक" बन जाएगा।
अन्य दृष्टिकोण काम करते हैं, यह एक का उपयोग क्यों करें ?:
हालांकि चाइल्ड व्यू कंट्रोलर पर बैक बटन शीर्षक को ओवरराइड करना संभव है, लेकिन इसे संभालना एक चुनौती थी जब तक कि यह पहले ही स्क्रीन पर संक्षिप्त रूप से फ्लैश नहीं हुआ था।
कुछ दृष्टिकोण नए बैक बटन का निर्माण करते हैं और मौजूदा को ओवरराइड करते हैं। मुझे यकीन है कि यह काम करता है, और शायद कुछ उपयोग मामलों में आवश्यक है। लेकिन मैं जब संभव हो मौजूदा एपीआई का लाभ उठाना पसंद करता हूं।
title
कुछ स्थितियों के लिए मूल दृश्य नियंत्रक को बदलना सबसे तेज़ समाधान है। हालाँकि, यह मूल शीर्षक बदलता है इसलिए आपको राज्य का प्रबंधन करना होगा। चीजें भी गड़बड़ हो जाती हैं Tab Bar Controller
क्योंकि शीर्षक परिवर्तन से शीर्षक के साथ दुष्प्रभाव होते हैं Tab Bar Item
।