HWPopController 1.0.7

HWPopController 1.0.7

HeathWang 维护。



  • HeathWang

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'

如何使用

  1. 创建您自己的弹出ViewController。

    1. 导入 HWPopController 框架
    2. 配置 contentSizeInPopcontentSizeInPopWhenLandscape(如果需要支持横向排列)
    #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.
    }
  2. 弹出您的 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];
  3. 关闭弹出使用原生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

更详细的内容,请参考 Example。

示例

要运行示例项目,请克隆存储库,然后首先从示例目录运行 pod install

作者

HeathWang, [email protected]

许可

HWPopController 遵循 MIT 许可协议。更多信息请参阅 LICENSE 文件。