MQTransitionManager
导航大法好
需要使用 navigationController
的 delegate
包含一个类模态默认过渡与可自定比例的分屏push, 自定义皆为全屏手势, 需要其他过程动画可自行调教 TransitionType
安装
CocoaPods
- 在 Podfile 中添加
pod 'MQTransitionManager'
- 执行
pod install
或pod update
- 导入头文件
拖库
- 下载
MQTransitionManager/MQTransitionManager
- 拖拽
- 如果您确实不需要
UIKit
,请链接以下 framework - 请随意调整
MQTransitionType
使用方式
头文件
#import <MQTransitionManager/MQTransitionManager.h>
Push方法
在需要推送的位置调用,类型:
可以选择不同的推送动画类型
MQTransitionManager *transition = [MQTransitionManager shareManagerWithOperation:UINavigationControllerOperationPush viewController:vc];
[transition pushWithType:MQTransitionType_CoverVertical navigationController:self.navigationController];
Pop方法
在viewDidAppear:
中设置pop动画的类型
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
MQTransitionManager *transition = [MQTransitionManager shareManagerWithOperation:UINavigationControllerOperationPop viewController:self];
[transition setPopType:MQTransitionType_CoverVertical];
}
已知问题
- iOS12 pop过场取消时,若存在激活中的
英文键盘
,则会出现键盘显示下沉,并且在下次输入触发前无法及时复位(疑似系统问题) - 分屏push模式原本是为iPad设计的,由于首页几乎都不使用系统原生导航栏,经过分屏push后,原导航栏会存在显示问题,懒得研究
依赖
未来巨坑
- 一别英语三十年,致死不曾过四级
- 不是我吹,连续参加过英语补课的人就我一个
- 有空想加英文说明_(ˊ_`」∠)_
- 哪天有空把文档写完了,就进0.1.0版本吧_(:з」∠)_
- 0.0.3预计把类模态默认转场调整到接近系统的效果
- 说不定哪天心(闲)血(得)来(蛋)潮(疼)就会加新的效果
已为陈迹
0.0.2
- 修改了通知的命名风格,并移动到内部
- 对IQKeyboardManager的兼容性更好了,之前在垂直转场动画开始时触发的动画效果,在pop取消时会造成意外的视图偏移,因此将多余的动画去掉了,并给IQKeyboardManager提出了pr。本来不是很想管的,但毕竟要弄点什么升版本才能名正言顺啊
0.0.1
- 因为懒得拖文件,所以使用CocoaPods
- 因为懒得写代码,所以依赖FDFullscreenPopGesture
- 因为懒得关闭安全区,所以从iOS9开始
友情支持