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

时间:2017-11-29 01:04:10

标签: ios swift facebook uinavigationcontroller snapchat

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

在这种情况下,您是否必须使用主导航控制器创建一个视图控制器架构,该导航控制器具有包含Facebook标签栏/导航控制器和即时文章导航控制器的半透明导航栏?

Facebook instant article

修改:添加了Snapchat示例

1 个答案:

答案 0 :(得分:0)

您是否在考虑不同的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
}