自定义导航过渡

因此,在控制器之间进行自定义导航过渡是一件很酷的事情。 我决定尝试一下它,最终结果看起来很不错。 为什么不与他人分享。

这是每个使用iOS的人都一定会习惯的默认过渡。


我的想法是创造一些不同的东西。 我希望过渡可以并排进行,其中一个控制器将另一个推开,反之亦然。 最重要的是,所有ViewController都具有全局背景,以使它们从一个过渡到另一个,而不会看到控制器边界发生变化。

因此,要执行此方案,我们需要执行以下步骤:

  1. 制作一个自定义的导航控制器,它将监视所有交互;
  2. 制作一个自定义的动画器,以处理控制器帧的动画;
  3. 制作一个自定义的交互器,该交互器​​处理屏幕平移以允许交互的“弹出”过渡;
  4. 创建自定义的交互式背景;

我们从简单好开始-创建一个新的单视图项目。 创建一个UINavigationController子类和3个UIViewController子类。 所有这些都将不再需要,但它们可以帮助阐明观点。 有时。

Main.storyboard文件是通过以下方式设置的:

UINavigationController,已设置为我们的自定义导航类(BaseNC)的子类,它与VC1具有RootViewController关系。 然后,VC1的“推”按钮与“ VC2”绑定在一起。 VC2至VC3相同。 最后,VC3具有一个与其控制器类关联的自定义操作,在该类中它执行popToRootViewController调用。 这里没什么特别的,只需设置即可。

设置完成,移至BaseNC类以开始设置。

持续时间,交互和句柄都可以修改和定制,以满足任何人的需求。

随时在这里签出该项目。

感谢您的阅读和愉快的编码。

— R

首先接收与移动开发相关的新故事。 —点击该跟随按钮
推特:@ ChiliLabs
www.chi.lv