ios - সুইফটে প্রথম ভিউকন্ট্রোলার থেকে নেভিগেশন বার কীভাবে আড়াল করবেন?




swift uinavigationcontroller (8)

আইওএস 8 এ এটি পছন্দ করুন

navigationController?.hidesBarsOnTap = true

তবে কেবলমাত্র যখন এটি কোনও ইউআইএনএভিগেশন কন্ট্রোলারের অংশ হয়

আপনি এটি ফিরে চাইলে এটি মিথ্যা করুন

আমি কীভাবে প্রথম ভিউকন্ট্রোলার বা একটি বিশেষ ভিউকন্ট্রোলার থেকে সুইফটে কোনও নেভিগেশন বারটি আড়াল করতে পারি?

আমি নিচের কোডটি viewDidLoad() ব্যবহার viewDidLoad() :

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.isNavigationBarHidden = true
}

এবং viewWillAppear :

override func viewWillAppear(animated: Bool) {
    self.navigationController?.isNavigationBarHidden = true
}

উভয় পদ্ধতিই সমস্ত ভিউকন্ট্রোলার থেকে নেভিগেশন নিয়ন্ত্রককে আড়াল করে।


আপনি viewWillDisappear navigationController viewWillDisappear

override func viewWillDisappear(animated: Bool)
{
    super.viewWillDisappear(animated)
    self.navigationController?.isNavigationBarHidden = false
}

সুইফট 3

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}

আপনি এটির জন্য একটি এক্সটেনশনও তৈরি করতে পারেন তাই আপনি প্রতিটি ভিউ কন্ট্রোলারে বার বার এটি প্রয়োগ না করে এক্সটেনশনটি পুনরায় ব্যবহার করতে সক্ষম হবেন।

import UIKit

extension UIViewController {
    func hideNavigationBar(){
        // Hide the navigation bar on the this view controller
        self.navigationController?.setNavigationBarHidden(true, animated: true)

    }

    func showNavigationBar() {
        // Show the navigation bar on other view controllers
        self.navigationController?.setNavigationBarHidden(false, animated: true)
    }

}

সুতরাং আপনি নীচের মতো এক্সটেনশন পদ্ধতিগুলি ব্যবহার করতে পারেন

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        hideNavigationBar()
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        showNavigationBar()
    }

আপনি যদি জানেন যে অন্য সমস্ত viewWillDisappear বারটি দৃশ্যমান হওয়া উচিত তবে আপনি এটিকে আবার দৃশ্যমানতে সেট করতে viewWillDisappear ব্যবহার করতে পারেন।

সুইফটে:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    navigationController?.setNavigationBarHidden(false, animated: animated)
}

সুইফট 3

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    // Hide the navigation bar on the this view controller
    self.navigationController?.setNavigationBarHidden(true, animated: animated)
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    // Show the navigation bar on other view controllers
    self.navigationController?.setNavigationBarHidden(false, animated: animated)
}

সুইফটে নেভিগেশন বার দেখানোর উপায়:

self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.navigationBar.isHidden = false
self.navigationController?.isNavigationBarHidden = false

সুইফ্ট 3 এ, আপনি নেভিগেশনবারহিডেন সম্পত্তি ব্যবহার করতে পারেন নেভিগেশন বারটি প্রদর্শন করতে বা আড়াল করতে

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    // Hide the navigation bar for current view controller
    self.navigationController?.isNavigationBarHidden = true;
}

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    // Show the navigation bar on other view controllers
   self.navigationController?.isNavigationBarHidden = false;
}

 private func setupView() {
        view.backgroundColor = .white
        navigationController?.setNavigationBarHidden(true, animated: false)
    }






uinavigationbar