最新消息:20210917 已从crifan.com换到crifan.org

[已解决]swift中显示UINavigationController的子页面内隐藏TabBar

Swift crifan 3124浏览 0评论
[已解决]搞懂swift写tab的标准写法
期间,虽然搞懂了标准的tabbar的写法
但是进入子页面后,则tab bar还是显示,想要去掉:
 want to hide tab
搜:
swift hide tab bar
参考:
自己折腾代码,看到个:
self.tabBarController?.hidesBottomBarWhenPushed
hidesBottomBarWhenPushed help intro
去试试
import UIKit

class ConversationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    override func viewDidLoad() {
        super.viewDidLoad()

        //print("self.tabBarController?.hidesBottomBarWhenPushed=\(self.tabBarController?.hidesBottomBarWhenPushed)")
        self.tabBarController?.hidesBottomBarWhenPushed = true
结果没生效:
点击进入该页面后,还是没有隐藏tab bar
看了解释:
提到的是“toolbar”而不是tab bar。。。
参考:
结果:
class ConversationViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.tabBarController?.tabBar.hidden = true
但是导致:
主页面中的tabBar都被隐藏了。。。
hide whole tab bar in main page
而不是所希望的:
当点击进入子页面时,再隐藏掉tabBar。
后来发现是自己搞错了:
应该是放在另外一个VC里面的:
class MessageTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.tabBarController?.tabBar.hidden = true
效果达到了:
主界面中tabBar是显示的,而点击进入子页面MessageTableViewController,tabBar隐藏:

into sub page hide tabbar

[总结]
想要一个ViewController中隐藏tabBar的话,则可以在其viewDidLoad加上:
self.tabBarController?.tabBar.hidden = true

即可。

转载请注明:在路上 » [已解决]swift中显示UINavigationController的子页面内隐藏TabBar

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
96 queries in 0.194 seconds, using 23.30MB memory