viewWillAppear में मैं अपना navigationController और navigationBar इस तरह छुपाता हूं:

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.navigationController?.setNavigationBarHidden(true, animated: true)
        self.navigationController?.interactivePopGestureRecognizer?.delegate = nil
}

फिर मैंने अपने Storyboard में एक navigationBar जोड़ा और इसे IB से अनुकूलित करने के लिए अपने UIViewController में एक IBOutlet से जोड़ा।

सब कुछ ठीक काम कर रहा है सिवाय इसके कि मैं डिफ़ॉल्ट backButton को मूल छिपे हुए navigatioBar से अपने नए रिवाज navigationBar में नहीं ले जा सकता।

प्रश्न:

क्या backButton को डिफ़ॉल्ट navigationBar से इस नए कस्टम navigationBar में ले जाने का कोई तरीका है?**

नोट: मैं एक अनुकूलित बैक बटन नहीं जोड़ना चाहता।

0
Mohammadalijf 3 अप्रैल 2017, 02:40
आप एक कस्टम नेविगेशनबार क्यों जोड़ रहे हैं जब आपके पास पहले से ही एक नेविगेशन बार है जिसे आप छिपा रहे हैं?
 – 
user5890979
3 अप्रैल 2017, 02:41
क्योंकि मेरे पहले व्यू कंट्रोलर को गैर-पारभासी नेविगेशनबार मिला है, और मेरे दूसरे व्यू कंट्रोलर को पारभासी नेविगेशनबार की जरूरत है। जब आप दूसरे व्यू कंट्रोलर पर ट्रांसलूसेंट बदलते हैं तो आपको दूसरे व्यू कंट्रोलर को पुश करने से एक अजीब एनीमेशन मिलता है। इसलिए मुझे इसे ठीक करने के लिए एक कस्टम नेविगेशनबार की आवश्यकता थी
 – 
Mohammadalijf
3 अप्रैल 2017, 02:44
मैं देखता हूं, और आपने सफलता के बिना isTranslucent को viewDidAppear / viewWillAppear में बदलने की कोशिश की?
 – 
user5890979
3 अप्रैल 2017, 02:48
1
आपको वास्तव में स्वचालित रूप से बनाए गए बैकबटन तक पहुंचने और संशोधित करने का प्रयास नहीं करना चाहिए जो पिछले UIViewController का प्रतिनिधित्व करता है। आपको अपना बनाना चाहिए।
 – 
user5890979
3 अप्रैल 2017, 02:57
1
धन्यवाद ऐसा लगता है कि ऐसा करने का कोई तरीका नहीं है और मुझे सभी दृश्य नियंत्रकों के माध्यम से अनुकूलित नेविगेशनबार का उपयोग करना चाहिए
 – 
Mohammadalijf
3 अप्रैल 2017, 03:01

1 उत्तर

सबसे बढ़िया उत्तर

आप नहीं कर सकते। आपको अपना खुद का UIBarButtonItem बनाना होगा

let backItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(yourSelector))
self.navigationItem.leftBarButtonItem = backItem
1
carlos21 3 अप्रैल 2017, 02:52
ऐसा लगता है कि मुझे अपने सभी व्यू कंट्रोलर में कस्टमनाविगेटनबार का उपयोग करना चाहिए और नेविगेटनबार के लिए कस्टम बैकबटन का उपयोग करना चाहिए। धन्यवाद
 – 
Mohammadalijf
3 अप्रैल 2017, 02:58