HWPopController
HWPopController
可以弹出 UIViewController
并实现多种动画效果,支持在横竖屏中自定义弹出视图大小。弹出位置可以是 顶部/中心/底部
,您还可以定义自己的弹出动画。
我的另一个从底部弹出视图的项目:HWPanModal
屏幕截图
特点
- 支持弹出 UIViewController。
- 支持弹出 UINavigationController,在 push/pop 时动态更改弹出大小。
- 支持 12 种弹出和消失动画。
- 支持自定义弹出和消失的动画。
- 支持在顶部/中心/底部弹出,使用
positionOffset
调整 x, y 坐标。
兼容性
iOS 8.0+,支持 Objective-C 和 Swift。
安装
HWPopController 通过 CocoaPods 可用。要进行安装,只需将以下行添加到您的 Podfile:
pod 'HWPopController', '~> 1.0.5'
如何使用
-
创建您自己的弹出ViewController。
- 导入 HWPopController 框架
- 配置
contentSizeInPop
和contentSizeInPopWhenLandscape
(如果需要支持横向排列)
#import "HWPop1ViewController.h" #import <HWPopController/HWPop.h> @interface HWPop1ViewController () @end @implementation HWPop1ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.contentSizeInPop = CGSizeMake(250, 300); self.contentSizeInPopWhenLandscape = CGSizeMake(300, 200); // build you pop view. }
-
弹出您的 ViewController
如果您要高度自定义弹出内容,请先初始化 HWPopController。然后配置您需要的属性,请参考
HWPopController.h
{ HWPop1ViewController *pop1ViewController = [HWPop1ViewController new]; HWPopController *popController = [[HWPopController alloc] initWithRootViewController:pop1ViewController]; // popView position popController.popPosition = HWPopPositionTop; [popController presentInViewController:self]; }
快速弹出,使用 UIViewController 分类。
HWPop1ViewController *pop1ViewController = [HWPop1ViewController new]; [pop1ViewController popupWithPopType:HWPopTypeGrowIn dismissType:HWDismissTypeGrowOut dismissOnBackgroundTouch:YES];
-
关闭弹出使用原生API。
[self dismissViewControllerAnimated:YES completion:^{ }];
获取弹出控制器,然后调用弹出控制器的关闭API。
[self.popController dismiss];
弹出 UINavigationController
如果您想弹出 UINavigationController,且每个栈中的 UIViewController 的大小不同,请使用 HWPopNavigationController
。
HWPopNavigationController
继承自 UINavigationController
;您可以继承自 HWPopNavigationController
,将 contentSizeInPop
配置为默认大小。
当您推出 A 控制器,然后推出 B 控制器时。A 和 B 控制器应该配置 contentSizeInPop
如果需要的话。如果没有配置它,我们就会使用 NavigationController 的 contentSizeInPop
。
关系:
- UINavigationController
- HWPopNavigationController
- 您自定义的 UINavigationController 继承自 HWPopNavigationController
- HWPopNavigationController
更详细的内容,请参考 Example。
示例
要运行示例项目,请克隆存储库,然后首先从示例目录运行 pod install
。
作者
HeathWang, [email protected]
许可
HWPopController 遵循 MIT 许可协议。更多信息请参阅 LICENSE 文件。