আমি কীভাবে আমার আইওএস সুইফট অ্যাপ্লিকেশনটিতে ট্যাব বারটি লুকিয়ে রাখব তা বোঝার চেষ্টা করছি। আমি কোনও অভিনব অ্যানিমেশন বা কোনও কিছুর বিষয়ে চিন্তা করি না। ভিউডিডলড () ফাংশনটিতে আমি ঠিক রাখতে পারি।
উত্তর:
আপনি কেবল আপনার ViewDidLoad()পদ্ধতিতে এটি ব্যবহার করতে পারেন ।
self.tabBarController?.tabBar.hidden = true
সুইফট 3.0, 4.0, 5.0 এর জন্য :
self.tabBarController?.tabBar.isHidden = true
অথবা আপনি এইভাবে ট্যাব বারের z অবস্থান পরিবর্তন করতে পারেন:
self.tabBarController?.tabBar.layer.zPosition = -1
এবং আপনি যদি এটি আবার দেখাতে চান তবে:
self.tabBarController?.tabBar.layer.zPosition = 0
গৃহীত উত্তরটি কাজ করে, তবে অন্য দর্শনে উত্তরণের একটি চপ্পি অ্যানিমেশন রয়েছে (ট্যাব বার অ্যানিমেশন)
এছাড়াও যোগ করতে চেয়েছিলেন যদিও কল্পেশের সমাধানটি আমার জন্য নিখুঁতভাবে কাজ করেছে, আমি জানতে পেরেছি যে প্রতিটি ভিউ কন্ট্রোলারের hidsBottomBarWhenPush (স্টোরিবোর্ডটি দেখুন। এবং এটি দুর্দান্ত কাজ করবে।
আপডেট: এটি নিশ্চিত জিনিস কিনা তা আমি নিশ্চিত নই, তবে অ্যাপলের ডকুমেন্টেশন পৃষ্ঠাতে যা বলা হয়েছে তা এখানে:
আমি মনে করি এর অর্থ হ'ল আপনাকে শীর্ষস্থানীয় ভিউ কন্ট্রোলারে (নেভিগেশন স্ট্যাকের প্রথমটি) স্ট্যাক তবে, যদি আপনার শীর্ষস্থানীয় দেখা নিয়ন্ত্রকের হাইডবটমবারওয়েনপ্যাশক মানটি মিথ্যা হয় তবে এটি নেভিগেশন স্ট্যাকের অন্যান্য নিয়ন্ত্রকদের জন্য একটি ট্যাব বার প্রদর্শন করবে না।
পুশ সেট করার আগে কন্ট্রোলারহাইডসবটমবারওয়েনপশড = সত্য
let objCreateEventVC = CreateEventVC()
objCreateEventVC.hidesBottomBarWhenPushed = true
self.navigationController?.pushViewController(objCreateEventVC, animated: false)
setViewControllers
ট্যাববারের হাইড প্রপার্টি সেট করার দরকার নেই।
সহজভাবে, ভিউকন্ট্রোলারে যান (স্টোরিবোর্ডে) -> অ্যাট্রিবিউট ইন্সপেক্টর -> 'দেখুন কন্ট্রোলার' বিভাগের অধীনে 'পুশের নীচে বারটি লুকান' চেকবক্সটি নির্বাচন করুন। এটি একটি কবজির মতো কাজ করে।
আপনি যদি 'ইসিডেড' পথে যান তবে আপনাকে প্রচুর হ্যান্ডলিং করতে হবে, অর্থাৎ আপনি ফিরে গেলে আবার প্রদর্শিত হবে এবং ট্যাববারটি লুকানোর পরে নীচের খালি স্থানটি সরিয়ে ফেলতে হবে।
Hide Bottom Bar on Pushইমোতে একটি অপ্রীতিকর অ্যানিমেশন রয়েছে।
আপনি এটি এক্সটেনশনেও সেট করতে পারেন (ধর্মেশ খেেনি উত্তরটি ব্যবহার করুন)
extension UITabBar {
func tabsVisiblty(_ isVisiblty: Bool = true){
if isVisiblty {
self.isHidden = false
self.layer.zPosition = 0
} else {
self.isHidden = true
self.layer.zPosition = -1
}
}
এই সুইফট পথ প্রোগ্রামেটিক্যালি হয় 4.0, 4.1, 4.2, 5.0 এবং পরে >:
tabBarController?.hidesBottomBarWhenPushed = true
বা
hidesBottomBarWhenPushed = true
নেভিগেশনবার এবং ট্যাববারটি আড়াল করতে আমি পরবর্তী ফাংশনটি ব্যবহার করি:
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
}
}
আমি আশা করি এটি আপনার পক্ষে কার্যকর।
vc.hidesBottomBarWhenPushed = trueকাজ করা উচিত। ম্যানুয়ালি ট্যাববারটি প্রদর্শন এবং আড়াল করবেন না।