Swift:从现有的导航控制器(例如Facebook或Snapchat)中推动新导航控制器



如何从现有导航控制器上推新导航控制器,就像下面图所示的Facebook即时文章所做的那样?

在这种情况下,您是否必须使用带有半透明导航栏的主导航控制器创建一个视图控制器模式,该导航栏既包装Facebook Tab/导航控制器和即时文章导航控制器?

Facebook即时文章

编辑:添加snapchat示例

您是否在考虑不同的UINavigationBar而不是UINavigationController?我认为您已经可以更改其他UIViewController的条形外观...如果它是一个问题,则可以为UINavigationController上一类,并在其中添加功能以更改栏的外观,以查看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
}

相关内容

最新更新