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

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

IOS小彩虹2021-08-22 20:45:31220A+A-

原文链接

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

demo地址:github.com/ysyplay/Ysy…

功能和用途

1.可自定义弹窗弹出,消失的动画和方向。 2.可自定义弹窗的位置。 3.自动规避键盘,防止被键盘遮挡。 4.支持指定弹框的父视图。 5.你只需要专注于弹窗本身的UI和业务逻辑即可。
iOS开发交流技术群:563513413,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

#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。要是你觉得好用,请点亮小星星。

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1
本网站由 提供CDN/云存储服务

联系我们