Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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 Swift:从现有导航控制器(如Facebook或Snapchat)推送新的导航控制器_Ios_Swift_Facebook_Uinavigationcontroller_Snapchat - Fatal编程技术网

Ios Swift:从现有导航控制器(如Facebook或Snapchat)推送新的导航控制器

Ios Swift:从现有导航控制器(如Facebook或Snapchat)推送新的导航控制器,ios,swift,facebook,uinavigationcontroller,snapchat,Ios,Swift,Facebook,Uinavigationcontroller,Snapchat,如何从现有的导航控制器中推出新的导航控制器,如下图所示的Facebook即时文章所示 在这种情况下,您是否必须创建一个视图控制器架构,其中包含一个主导航控制器,该主导航控制器带有一个半透明的导航栏,该导航栏包装了Facebook选项卡栏/导航控制器和即时文章导航控制器 编辑:添加示例您是否考虑使用不同的UINavigationBar而不是UINavigationController?我想您已经可以为不同的UIViewController更改条形图的外观了。。。如果这是一个问题,那么您可以为ui

如何从现有的导航控制器中推出新的导航控制器,如下图所示的Facebook即时文章所示

在这种情况下,您是否必须创建一个视图控制器架构,其中包含一个主导航控制器,该主导航控制器带有一个半透明的导航栏,该导航栏包装了Facebook选项卡栏/导航控制器和即时文章导航控制器


编辑:添加示例

您是否考虑使用不同的
UINavigationBar
而不是
UINavigationController
?我想您已经可以为不同的
UIViewController
更改条形图的外观了。。。如果这是一个问题,那么您可以为
uiavigationcontroller
创建一个类,并在其中添加功能,以更改正在查看的
UIViewController
的条形图的外观

UINavigationController
的委托方法提供如下方法

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool)
在里面你可以放一张支票

if viewController.isKind(of: SomeViewController.self) {
   //make this specific change for it 
} else if viewController.isKind(of: SomeOtherViewController.self) {
   //make this specific change for this other viewController
} else {
   //make this for all other
}

您是否考虑使用不同的
UINavigationBar
而不是
UINavigationController
?我想您已经可以为不同的
UIViewController
更改条形图的外观了。。。如果这是一个问题,那么您可以为
uiavigationcontroller
创建一个类,并在其中添加功能,以更改正在查看的
UIViewController
的条形图的外观

UINavigationController
的委托方法提供如下方法

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool)
在里面你可以放一张支票

if viewController.isKind(of: SomeViewController.self) {
   //make this specific change for it 
} else if viewController.isKind(of: SomeOtherViewController.self) {
   //make this specific change for this other viewController
} else {
   //make this for all other
}

谢谢你的回复,泰穆尔。然而,我不相信我指的是UINavigationBar。在上面的Facebook示例和下面的Snapchat示例中,似乎一个全新的UINavigationController被推送到了现有的UINavigationController上。您的图像显示正在进行反向滑动。。。这是为了在navigationController()中弹出ViewController而完成的。。。请记住,navigationController是视图控制器的堆栈,您可以在其中推送和弹出视图控制器。。。你确定你指的是NavigationController吗?还是你在寻找“一扫即出”机制?我在这篇评论中联系到了这一点。嗨,泰穆尔,很抱歉我错过了你的快速跟进。在提出上述问题时,我对iOS导航堆栈的理解相当有限。
UINavigationController
delegate方法确实可以工作,很高兴我能提供帮助。谢谢您的回复。然而,我不相信我指的是UINavigationBar。在上面的Facebook示例和下面的Snapchat示例中,似乎一个全新的UINavigationController被推送到了现有的UINavigationController上。您的图像显示正在进行反向滑动。。。这是为了在navigationController()中弹出ViewController而完成的。。。请记住,navigationController是视图控制器的堆栈,您可以在其中推送和弹出视图控制器。。。你确定你指的是NavigationController吗?还是你在寻找“一扫即出”机制?我在这篇评论中联系到了这一点。嗨,泰穆尔,很抱歉我错过了你的快速跟进。在提出上述问题时,我对iOS导航堆栈的理解相当有限。
UINavigationController
delegate方法确实可以工作,很高兴我能提供帮助。