Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将UIViewController推到UITabBar上方_Ios_Iphone_Swift_Cocoa Touch_Uitabbar - Fatal编程技术网

Ios 将UIViewController推到UITabBar上方

Ios 将UIViewController推到UITabBar上方,ios,iphone,swift,cocoa-touch,uitabbar,Ios,Iphone,Swift,Cocoa Touch,Uitabbar,我有一个名为ListVC的UIViewControllerListVC有一个uitabar,用户可以用它切换选项卡。它还有UINavigationController 在ListVC中,我有一个按钮,我想在按下名为DetailVC的新ViewController时按下它(使用NavigationController)。我想在没有uitabar的情况下呈现DeatilVC 问题是,当我使用pushViewController(动画)方法时,视图仍然具有uitabar 如何将视图(我不想以模式显示)

我有一个名为
ListVC
UIViewController
ListVC
有一个
uitabar
,用户可以用它切换选项卡。它还有
UINavigationController

ListVC
中,我有一个按钮,我想在按下名为
DetailVC
的新ViewController时按下它(使用
NavigationController
)。我想在没有
uitabar
的情况下呈现
DeatilVC

问题是,当我使用
pushViewController(动画)
方法时,视图仍然具有
uitabar

如何将视图(我不想以模式显示)推送到
uitabar
上方

从聊天列表中选择聊天时,您可以在
Whatsapp
上看到一个示例。图片:

代码:

self.navigationController?.pushViewController(detailVC,动画:true)


谢谢大家!

转到情节提要并检查推送时的
隐藏底部栏


或者只需键入DeatilVC
viewDidLoad
method
hidesBottomBarWhenPushed=true

按下按钮时写下以下代码:

yourViewController.hidesBottomBarWhenPushed = true
您还可以在从情节提要推送时隐藏选项卡栏。选择要推送的视图控制器,并选中“推送时隐藏底部栏”:

试试这个

override func viewWillDisappear(_ animated: Bool) {
    self.tabBarController?.tabBar.isHidden = true
}

override func viewWillAppear(_ animated: Bool) {
    self.tabBarController?.tabBar.isHidden = false
}

好的,我已经解决了这个问题。在推码前后推码两次时,我必须添加
hidesbottombar:

self.hidesBottomBarWhenPushed  = true
self.navigationController?.pushViewController(detailVC, animated: true)
self.hidesBottomBarWhenPushed = false


它不显示选项卡栏上方的视图。它只是隐藏它(并且没有任何动画)。你是呈现视图控制器还是推?推。你可以看到我试图实现的目标,例如在
Whatsapp
中,我添加了一个我试图实现的目标的图像。请看一看,当按下
yourViewController.hidesBottomBarWhenPushed=true时,您是否在该代码下方添加了此代码?它不会在选项卡栏上方显示视图。它只是隐藏它(并且没有任何动画)。我添加了一个我试图实现的图像。请坐look@FS.O6,仍然不明白问题所在。也许你有视频或gif的例子?我不想隐藏标签栏。我想在上面推一个
VC
,我已经添加了一个我想要实现的图像。请看一看,我加了一张图片。这正是我想要实现的。不隐藏选项卡栏,按上面的
VC
,是否按导航控制器或视图控制器???如果要使用导航控制器推送viewcontroller,请尝试删除该navigationcontroller并推送至viewcontroller,这是什么意思?我是这样推的:
self.navigationController?.pushViewController(detailVC,animated:true)
那么你是说你的tabbar被隐藏了??而且您不想让tabbar隐藏起来???类型为“UITabBarController”的@SPatel值没有成员“pushViewController”
self.navigationController?.pushViewController(detailVC,animated:true)
无法解决您的问题。这不是真的。也许你做了别的事?@安抚你什么意思?默认情况下,
pushViewController
推送视图,并将tabBarEmbed tabBarcontroller保留在视图中navigationController@SPatel什么意思?根据推送时应调用的文档
hidesbottombarwhenpush
,而不是从推送的vc调用的文档,请您再解释一下(我不使用故事板)。