美文网首页iOS开发iOS日常经验总结
YsyPopHelper 简单易用的iOS弹窗开发助手

YsyPopHelper 简单易用的iOS弹窗开发助手

作者: 牧羊的诗人 | 来源:发表于2020-11-10 16:35 被阅读0次

    在App项目开发过程中,总会对弹窗有各式各样的需求,有顶部的弹窗,顶部的弹窗,中间的弹窗等等各式各样,五花八门。弹窗的开发,一般包括有弹出动画,退出动画,半透明蒙板,弹窗本身的UI和逻辑等,如果每个弹窗都要走一遍这个流程,无意是一件低效且无聊的事情。那么有没有一种解决方案,可以让我们只需要编码弹窗本身的UI和逻辑呢?这就是笔者开源YsyPopHelper这个简单易用的iOS弹窗开发助手的目的。

    demo地址:https://github.com/ysyplay/YsyPopHelperDemo

    效果演示


    2020-11-09 17.30.50.gif

    功能和用途

    1.可自定义弹窗弹出,消失的动画和方向。
    2.可自定义弹窗的位置。
    3.自动规避键盘,防止被键盘遮挡。
    4.支持指定弹框的父视图。
    5.你只需要专注于弹窗本身的UI和业务逻辑即可。

    #import <UIKit/UIKit.h>
    #import "YsyPopMacro.h"
    NS_ASSUME_NONNULL_BEGIN
    
    @interface YsyPopHelper : UIView
    /**
     * 初始化方法
     *  @param customView   自定义弹窗
     *  @param popStyle     显示样式
     *  @param dismissStyle 消失样式
     *  @param position     弹窗位置
     */
    - (instancetype)initWithCustomView:(UIView *_Nonnull)customView
        popStyle:(YsyPopStyle)popStyle
    dismissStyle:(YsyDismissStyle)dismissStyle
        position:(YsyPosition)position;
    /// 显示弹窗
    - (void)show;
    ///消失弹窗
    - (void)dismiss;
    ///弹出动画时间
    @property (nonatomic, assign) NSTimeInterval popDuration;
    ///消失动画时间
    @property (nonatomic, assign) NSTimeInterval dismissDuration;
    ///x轴偏移
    @property (nonatomic, assign) CGFloat        offsetX;
    ///y轴偏移
    @property (nonatomic, assign) CGFloat        offsetY;
    ///设置父视图,默认为window
    @property (nonatomic, weak  ) UIView         *superView;
    ///是否规避键盘 默认YES
    @property (nonatomic, assign) BOOL           isAvoidKeyboard;
    ///弹框和键盘的距离 默认10
    @property (nonatomic, assign) CGFloat        avoidKeyboardSpace;
    ///半透明背景不可点击,默认点击背景弹窗消失
    @property (nonatomic, assign) BOOL           disableTapBg;
    @end
    
    NS_ASSUME_NONNULL_END
    

    使用方法

        //初始化弹窗
        TestView *popView = [TestView new];
        popView.bounds  = CGRectMake(0, 0, 260,291 );
        //初始化弹窗助手
        _helper = [[YsyPopHelper alloc] initWithCustomView:popView popStyle:YsyPopStyleFade dismissStyle:YsyDismissStyleScale position:YsyPositonCenter];
        //弹窗助手调用展示方法
        [_helper show];
    

    可以看到3行代码,即可使用弹窗,方便快捷,冗余度低。更多自定义需求,可参考Demo。要是你觉得好用,请点亮小星星🌟。

    相关文章

      网友评论

        本文标题:YsyPopHelper 简单易用的iOS弹窗开发助手

        本文链接:https://www.haomeiwen.com/subject/yzdlbktx.html