ios - আইওএস সুইফট অ্যাপে ট্যাব বারটি লুকান ide




swift (6)

আমি কীভাবে আমার আইওএস সুইফট অ্যাপ্লিকেশনটিতে ট্যাব বারটি লুকিয়ে রাখব তা জানার চেষ্টা করছি। আমি কোনও অভিনব অ্যানিমেশন বা কোনও কিছুর বিষয়ে চিন্তা করি না। ভিউডিডলড () ফাংশনটিতে আমি ঠিক রাখতে পারি।


পুশ সেট করার আগে কন্ট্রোলারহাইডসবটমবারওয়েনপশান = সত্য

let objCreateEventVC = CreateEventVC()
objCreateEventVC.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(objCreateEventVC, animated: false)

আপনি এটি এক্সটেনশনেও সেট করতে পারেন (ধর্মেশ খেেনি উত্তরটি ব্যবহার করুন)

extension UITabBar {
func tabsVisiblty(_ isVisiblty: Bool = true){
    if isVisiblty {
        self.isHidden = false
        self.layer.zPosition = 0
    } else {
        self.isHidden = true
        self.layer.zPosition = -1
    }
}

গৃহীত উত্তরটি কাজ করে, তবে অন্য দর্শনে উত্তরণের একটি চপ্পি অ্যানিমেশন রয়েছে (ট্যাব বার অ্যানিমেশন)

এছাড়াও যোগ করতে চেয়েছিলেন যদিও কল্পেশের সমাধানটি আমার জন্য নিখুঁতভাবে কাজ করেছে, আমি জানতে পেরেছি যে প্রতিটি ভিউ কন্ট্রোলারের hidsBottomBarWhenPush (স্টোরিবোর্ডটি দেখুন for এবং এটি দুর্দান্ত কাজ করবে।

আপডেট: এটি নিশ্চিত জিনিস কিনা তা আমি নিশ্চিত নই, তবে অ্যাপলের ডকুমেন্টেশন পৃষ্ঠাতে যা বলা হয়েছে তা এখানে:

নেভিগেশন নিয়ন্ত্রকের সন্তানের হিসাবে যুক্ত ভিউ কন্ট্রোলার পর্দার নীচে একটি alচ্ছিক সরঞ্জামদণ্ড প্রদর্শন করতে পারে। শীর্ষস্থানীয় দেখা নিয়ন্ত্রকের এই সম্পত্তিটির মান নির্ধারণ করে যে সরঞ্জামদণ্ডটি দৃশ্যমান কিনা। যদি এই সম্পত্তিটির মানটি সত্য হয় তবে সরঞ্জামদণ্ডটি গোপন থাকে। যদি এই সম্পত্তিটির মানটি মিথ্যা হয় তবে দণ্ডটি দৃশ্যমান।

আমি মনে করি এর অর্থ হ'ল আপনাকে শীর্ষস্থানীয় ভিউ কন্ট্রোলার (নেভিগেশন স্ট্যাকের প্রথমটি।) এ hidsBottomBarWhenPush এর মৌলিক মানটি সেট করতে হবে একবার আপনি এটি সত্য করে দিলে, আপনি অন্য ভিউ কনট্রোলারগুলির জন্য মিথ্যা বা সত্যে পরিবর্তন করতে পারেন গাদা। তবে, যদি আপনার শীর্ষস্থানীয় দেখা নিয়ন্ত্রকের হাইডবটম বারওয়েনপেন মানটি মিথ্যা হয় তবে এটি নেভিগেশন স্ট্যাকের অন্যান্য নিয়ন্ত্রকদের জন্য একটি ট্যাব বার প্রদর্শন করবে না।


ট্যাববারের হাইড প্রপার্টি সেট করার দরকার নেই।

সহজভাবে, ভিউকন্ট্রোলারে যান (স্টোরিবোর্ডে) -> অ্যাট্রিবিউট ইন্সপেক্টর -> 'দেখুন কন্ট্রোলার' বিভাগের অধীনে 'পুশের নীচে বারটি লুকান' চেকবক্সটি নির্বাচন করুন। এটি একটি কবজির মতো কাজ করে।

আপনি যদি 'ইসিডেড' পথে যান তবে আপনাকে প্রচুর হ্যান্ডলিং করতে হবে, অর্থাৎ আপনি ফিরে গেলে আবার প্রদর্শিত হবে এবং ট্যাববারটি লুকানোর পরে নীচের খালি স্থানটি সরিয়ে ফেলতে হবে।


প্রোগ্রামটিমেটিকভাবে এটি সুইফট ৪.০, ৪.১, ৪.২, ৫.০ এবং তারপরে>>

var tabBarHeight : CGFloat!

func fullScreenAction(){
    if navigationController?.isNavigationBarHidden ?? false {
        //Show navigationBar
        navigationController?.setNavigationBarHidden(false, animated: false)

        //Show tabBar
        tabBarController?.tabBar.isHidden = false
        //Update the height of tabBar
        if (!(tabBarController?.tabBar.frame.size.height.isEqual(to: 0))!) {
            tabBarHeight = self.tabBarController?.tabBar.frame.size.height
        }
        tabBarController?.tabBar.frame.size.height   = tabBarHeight
    } else {
        //Hide navigationBar
        navigationController?.setNavigationBarHidden(true, animated: false)

        //Hide tabBar
        tabBarController?.tabBar.isHidden = true
        //Update the height of tabBar
        tabBarHeight = tabBarController?.tabBar.frame.size.height
        tabBarController?.tabBar.frame.size.height   = 0

    }

}

অথবা

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    if navigationController?.isNavigationBarHidden ?? false {
        navigationController?.setNavigationBarHidden(false, animated: false)
        tabBarController?.tabBar.isHidden = false
    }
}

সুইফট 3।

self.tabBarController?.tabBar.isHidden = true




swift