gpt4 book ai didi

ios - 是否可以使用 NavigationBarViewController 作为 UINavigationController 将 View Controller 推送到堆栈上

转载 作者:行者123 更新时间:2023-11-30 13:40:22 25 4
gpt4 key购买 nike

我正在努力用 https://github.com/CosmicMind/Material 替换 UINavigationControllers 和其他 iOS 标准 UI 类特别是我被 NavigationBarViewController 困住了。我知道它在幕后使用父/子 Controller 设置来呈现新的 View Controller ,但我不知道如何才能将基本的导航 VC 推送到堆栈上,并在左侧有一个后退按钮返回。浏览NavigationBarViewController的源代码似乎没有办法做到这一点。是否可以使用 NavigationBarViewController 来做到这一点?

最佳答案

要转换 mainViewController(即 NavigationBarViewController 的主体),您可以使用

transitionFromMainViewController

方法。但它支持动画选项,但不支持 MoveIn 或 Push 动画。

为此,您需要使用 MaterialAnimation API 中提供的过渡方法。

示例:

let vc: HashtagListViewController = HashtagListViewController()
vc.view.layer.addAnimation(MaterialAnimation.transition(.MoveIn, direction: .Right), forKey: kCATransitionFromRight)

navigationBarViewController?.transitionFromMainViewController(vc)

基本上,您所做的就是点击 UIViewController.view.layer 的过渡动画。

如果您不想付出这种努力,

transitionFromMainViewController

提供了一些可供您使用的漂亮的开箱即用动画。

在 Material 的 future 版本中,将有一个完整的 NavigationViewController 堆栈来完成您所要求的所有操作。

更新

Material 1.36.0 ,有两个新类,NavigationBar 和 NavigationController。 NavigationController 是 UINavigationController 的子类,因此在项目堆栈上推送和弹出 UIViewController 的所有功能都是相同的,同时能够轻松自定义 Controller 的外观和感觉。

示例应用程序项目展示了如何使用它。

关于ios - 是否可以使用 NavigationBarViewController 作为 UINavigationController 将 View Controller 推送到堆栈上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35638980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com