链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

TLTransitions-快速实现控制器转场和View的popover显示

TLTransitions项目专注于在iOS开发领域快速实现控制器的转场以及视图的popover显示功能。它支持自定义动画,并且可以通过手势进行退场操作。在视图弹窗方面,仅需一行代码就能实现,还能做到多种样式的弹窗效果,如系统Alert样式中间弹窗、ActionSheet样式底部...

访问官网 →

项目名:TLTransitions-快速实现控制器转场和View的popover显示

项目简介

TLTransitions是一个非常实用的项目。它主要用于快速实现控制器的转场(如present/pop)和视图(View)的快速popover显示。在实现这些功能的同时,还支持自定义动画,并且能够通过手势进行退场(dismiss/pop)操作。该项目使用Objective-C编写,在iOS开发中可发挥重要作用。

项目目的

项目的目的是让繁琐的个性化控制器的转场和视图弹窗实现变得简单快速。使用这个项目,仅需一句代码或者几行代码就可以搞定相关操作。

核心技术

其核心技术涉及到基于协议UIViewControllerTransitioningDelegate、UINavigationControllerDelegate、UIViewControllerAnimatedTransitioning来实现基础控制器的转场。而视图弹窗则是通过控制器的转场包装而来,同时基于UIPresentationController。

使用与说明

1. View弹窗

使用TLTransition类的API,只要一行代码即可将一个已有的View进行显示。例如,对于一个已经设置好布局的用户自定义视图popView,可以使用[TLTransition showView:popView popType:TLPopTypeAlert];来实现不同样式的弹窗效果,如系统Alert样式的中间弹窗(支持键盘高度自适应且可关闭)、系统ActionSheet样式的底部弹窗、将一个view显示到指定的位置、将一个view从frame1动画到frame2以及通过传入自定义动画的block来实现动画自定义等。还可以进行其他操作,如动态更新size(仅限size,不能改变位置),可以在显示后实时更新视图的size,也可以手动dismiss视图(正常情况通过点击灰色区域进行dismiss,无需手动调用API)。

2. UIViewController转场

相关API位于分类UIViewController+Transitioning和遵守TLTLAnimatorProtocol协议的Animator类中。支持多种模式的动画,例如present模式下有系统原生转场动画(非自定义转场)、Swipe系列、CATransition系列动画、CunstomBlock模式等;push模式下有Swipe系列、CATransition系列、Cunstom模式等。所有类型API都默认支持侧滑手势dismiss/pop(可以关闭,如果要手动dismiss/pop,只需调用原生API即可)。可以分步实现转场操作,如创建动画管理者、设置动画时间、设置手势使能等;也可以一步实现转场操作。

项目总结

TLTransitions项目为iOS开发中的控制器转场和视图弹窗提供了便捷高效的解决方案,其丰富的功能和灵活的使用方式值得开发者深入研究。欢迎各位粉丝在评论区留言,分享你对这个项目的看法或者使用过程中的经验。

项目地址

GitHub链接直达