GithubHelp home page GithubHelp logo

zjjpopup's Introduction

ZJJPopup

效果图

image

特点:

1、弹窗可以选择显示在window,viewController, navigationController上
2、弹窗的样式可以通过 ZJJPopupModel对象来设置
3、可以自定义弹窗 ,支持毛玻璃效果
4、提供默认的选择器(UIPickerView和UITableView)的弹框
5、弹窗的头部视图,可以根据文本标题和按钮文本来动态调节头部视图的高度

弹窗的样式设置:      

可以通过ZJJPopupModel对象来进行设置    

struct ZJJPopupModel {
    
    var animationType:ZJJPopupAnimationType = .move //弹框出现样式
    var showInType:ZJJPopupViewShowInType = .window //弹框添加到哪里,默认是在window上
    var popupViewRadius:CGFloat = 10 //设置popupView的圆角
    var isTouchHidden:Bool = true //点击遮罩层,是否隐藏弹框视图
    var isConfirmHidden:Bool = true //点击确定按钮,是否隐藏弹框视图
    var contentViewMinHeight:CGFloat = 220 //contentView内容的最小高度
    var maskLayerColor:UIColor = UIColor.init(red:0, green: 0, blue:0, alpha: 0.5) //遮罩层的颜色
    var blurEffectStyle:ZJJBlurEffectStyle = .none //设置毛玻璃效果,设置为none,显示遮罩层的颜色
    var backgroundColor:UIColor = .white{
        didSet{
            self.topViewConfig.backgroundColor = backgroundColor
        }
    } //背景颜色
    
    var topViewConfig:ZJJPopupTopViewConfig = ZJJPopupTopViewConfig() //topView配置
    }

如何使用默认的弹窗选择器(UIPickerView和UITableView)

一、创建的数据结构体或者模型对象遵循 ZJJOptionProtocol协议,jj_optionValue值是作为选择器列表中显示的值

protocol ZJJOptionProtocol {
    var jj_optionValue:String?{set get} 
}

二、创建ZJJPopupModel对象来设置弹窗的样式,创建ZJJOption对象来存储要显示的选择列表数据和列表中选中的数据

struct  ZJJOption {
    var optionArray:[ZJJOptionProtocol] = [] //选择的列表
    var selectModel:ZJJOptionProtocol? //选择的对象
}

三、可以使用ZJJPopup提供的便捷的方法,如果需要自定义选择器或者自定义弹窗,可以参照ZJJPopup内部的实现

zjjpopup's People

Contributors

04zhujunjie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.