SkillAgentSearch skills...

LGLBaseKit

快速搭建项目不可缺少的常用方法和属性集合的库(SWift)

Install / Use

/learn @liguoliangiOS/LGLBaseKit
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

LGLBaseKit

CI Status Version License Platform

前言

本库旨在方便码友便捷获取常用的设备数据、创建控件、快速的搭建应用。 码友可以把常用的方法提供给我,我会在 LGLMethod类里面补充。 欢迎加群 457236811 交流。

Installation

LGLBaseKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

1.全部导入


    pod 'LGLBaseKit'
    

2.只导入UI相关代码


    //只导入与UI相关文件(LGLExtension, LGLDeviceInfo, LGLAlert)
    pod 'LGLBaseKit/LGLBaseUIKit'
     

3.单独文件导入


    //只导入LGLExtension创建和修改view的扩展方法
    pod 'LGLBaseKit/LGLExtension'
    
    //只导入LGLPublicMethod常用的方法
    pod 'LGLBaseKit/LGLExtension'
    
    //只导入LGLDeviceInfo设备的参数(包括app信息和手机系统信息)
    pod 'LGLBaseKit/LGLDeviceInfo'
    
    //只导入LGLAlert简单封装系统的alert和action弹窗
    pod 'LGLBaseKit/LGLAlert'
    //只导入LGLCrypt加密(Md5加密,AESAES(128+CBC+PKCS7Padding),RSA(SHA1withRSA)加签,验签,加解密等)
    pod 'LGLBaseKit/LGLCrypt'
     

0.1.2版本更新

补充判断设备的Model(iPhone 11 Pro, iPhone XS Max .......)

新增一些实用的方法,请查看具体代码

0.0.8版本更新摘要

1.修复LGLMethod里面用"*"替换文字没有效果 2.LGLMethod新增新的方法。 3.增加 LGLShowText 简单的提示错误文字弹窗

    class func showTextView(_ message: String?)
    class func showTextView(_ message: String?, _ textFont: UIFont)

4.新增获取屏幕适配比例的方法

    /**获取宽度比例  以iphone6 为基准 
    默认屏幕宽度比例大于1(X:1.104)的默认乘以1.02 */
    class func wRatio(ratio: CGFloat = 1.02) -> CGFloat 
 
 /** 获取高度比例 以iphone6 为基准 
    默认屏幕高度比例大于1的 乘以1.02
    (5.8的返回1.0,因为宽度比例是1所以不做高度增加处理)*/
    class func hRatio(ratio: CGFloat = 1.02) -> CGFloat 

0.0.7版本更新摘要

新增可以只导入UI相关的方法

    pod 'LGLBaseKit/LGLBaseUIKit'

0.0.6版本部分重要更新摘要

1. 支持每个部分文件单独导入

2. UIColor新增用于适配iOS13的暗黑和其他模式的颜色设置

   ///适配暗黑模式设置颜色 dark -- 暗黑模式下的颜色   light -- 其他模式下的颜色
   UIColor.lgl_traitColor(darkColor, lightColor) -> UIColor
   UIColor.lgl_traitColor(lightColor) -> UIColor

3. 修复UITextField在iOS13KVC设置_placeholderLabel颜色和字体大小,崩溃问题

4. 新增LGLAlert系统的提示弹框

5. 新增LGLCrypt加密工具

How to use ?

一、 导入头文件

    import LGLBaseKit

二、 LGLDevice分类包含跟设备相关参数 (屏幕的宽高,设备型号判断,设备的参数, 系统参数等等)

LGLDevice分类使用: LGLDevice.screenBounds

1.常用的设备的系数和机型判断

| 属性/变量/方法 | 返回值类型 | 说明 | | --- | --- | --- | | screenBounds | CGRect | 设备整个屏幕的大小 | | screenWidth | CGFloat | 设备屏幕的宽 | | screenHeight | CGFloat | 设备屏幕的高 | | screenScale | CGFloat | 设备屏幕的倍数 @2x @3x | | navigationHeight | CGFloat | 导航栏高度 | | statusBarHeight | CGFloat | 状态栏的高度 | | navigationBarHeight | CGFloat | navigationBar的高度 | | tabBarHeight | CGFloat | Tabbar的高度 | | bottomSafeAreaHeight | CGFloat | 底部安全域的高度 | | widthRatio | CGFloat | 屏幕横向适配系数 以iphone6 为基准 | | heightRatio | CGFloat | 屏幕纵向适配系数 以iphone6 为基准 | | wRatio | CGFloat | 屏幕横向适配系数 参数默认ratio=1.02 | | hRatio | CGFloat | 屏幕纵向适配系数 参数默认ratio=1.02 | | phoneModelSize| CGSize | 获取当前设备分辨率 | | phoneEqualTo(_ size: CGSize) | Bool | 比较两个设备的分辨率(跟当前的设备比较) | | iPadType | Bool | 判断是否是IPad | | iPhoneXType | Bool | 判断是否是齐刘海设备系列 | | iPhoneInch65 | Bool | 判断6.5Inch (iPhone XS Max) | | iPhoneInch61 | Bool | 判断6.1Inch (iPhone XR) | | iPhoneInch58 | Bool |判断5.8Inch (iPhone XS/ iPhone X) | | iPhoneInch55 | Bool |判断5.5Inch (iPhone 6/6s/7/8 Plus) | | iPhoneInch47 | Bool |判断4.7Inch (iPhone 6/6s/7/8) | | iPhoneInch4 | Bool | 判断4Inch (iPhone SE) |

2.系统配置信息

| 属性/变量/方法 | 返回值类型 | 说明 | | --- | --- | --- | | systemVersion | String | 获取系统版本 | | systemName | String | 获取系统名称 | | deviceModel | String | 获取系统名称 iPhone", "iPod touch" | | deviceLocalizedModel | String | 获取系统名称 localized version of model | | deviceUserName | String | 获取设备名称 如 XXX的iphone | | deviceDiskTotalSize | String | 获取总的内存 | | deviceAvalibleDiskSize | String | 获取可用的内存 | | supplier | String | 获取运营商 | | deviceIP | String | 获取当前设备IP | | deviceCpuCount | Int | 获取cpu核数 | | deviceCpuType | String | 获取cpu类型 | | deviceName | String | 获取设备名称 |

3.APP信息

| 属性/变量/方法 | 返回值类型 | 说明 | | --- | --- | --- | | appName | String | App名称 获取失败则返回空字符串 | | appBundleId | String | App包名 获取失败则返回空字符串 | | appVersion | String | App版本号 获取失败则返回空字符串 | | appIdfa | String | AppIdfa 用户关闭,则返回空字符串 | | appIdfv | String | AppIdfv 获取失败则返回空字符串 | | appBundleName | String | app工程名称 获取失败则返回空字符串 |

三、UI控件(绘制阴影,渐变色,View转图片,根据View获取控制器)、颜色、字符串(富文本, 常见的正则判断等)的 Extension

1. UI控件,使用的时候都使用 类名或者实例 来创建或者设置,更多方法请查阅具体view的扩展方法

UIView+Extension

    ///初始化View 设置背景颜色
    let view =  UIView.lgl_view(.red)
    ///初始化View 设置背景颜色、圆角
    let view2 = UIView()
    view2.lgl_view(.red, 20)
    /// 水平渐变
    let view3 = UIView()
    view3.lgl_horizontalGradientLayer(.red, .red, 20)
    /// 垂直渐变
    view3.lgl_verticalGradientLayer(.red, .red, 20)
    /// 设置view的切角 
    view3.lgl_roundingCorner([.topLeft, .topRight], _ radii: 5)
    ///给View添加阴影
    view3.lgl_shadow(.red, CGSize(width:0, height:3), 0.2, 10, 8)
    ///给View添加阴影和边框
    view3.lgl_shadowBorder(.red, CGSize(width:0, height:3), 0.2, 10, 8, .gray)
    ///获取当前View的控制器
    let currentVC =  view3.lgl_viewGetcurrentVC()
    ///view转图片
    let image =  view3.lgl_viewToImage()

UIImageView+Extension

    ///设置图片初始化
    let imageV =  UIImageView.lgl_imagView("图片名字.png")
    ///设置图片
    let imageV = UIImageView()
    imageV.lgl_imagView("图片名字.png")

UILabel+Extension

   ///初始化label 字体、字体颜色  字体大小、对齐方式、行数
   let label = UILabel.lgl_label("文字", .red,  UIFont.systemFont(ofSize: 14), .left, 0)
    ///设置label 字体、字体颜色、背景颜色、 字体大小、对齐方式、行数
   let label = UILabel()
   label.lgl_label("文字", .red, .white, UIFont.systemFont(ofSize: 14),.left, 0)
   ///设置label 切圆角
   let label = UILabel()
   label.lgl_labelRadius(12)
   ///设置label 边框和边框颜色
   let label = UILabel()
   label.lgl_labelBorder(.red, 1)
   ///设置label 边框、边框颜色、切圆角
   let label = UILabel()
   label.lgl_labelBorder(.red, 1, 10)

UIButton+Extension

    ////初始化button  设置 标题文字、文字颜色、文字大小
    let btn = UIButton.lgl_button("标题", .red, UIFont.systemFont(ofSize: 14), self, #selector(selectBtn)) 
     ////设置button 标题文字、文字颜色、文字大小
     let btn = UIButton(type: .custom)
     btn.lgl_button("标题", .red, UIFont.systemFont(ofSize: 14), self, #selector(selectBtn)) 
     ///设置图片
     let btn = UIButton(type: .custom)
     btn.lgl_buttonImage("normal_image_name.png", "select_image_name.png")
     ///设置背景图片
     let btn = UIButton(type: .custom)
     btn.lgl_buttonBackgroundImage("normal_back_image_name.png", "select_back_image_name.png")
     ///设置圆角
     let btn = UIButton(type: .custom)
     btn.lgl_buttonRadius(10)
     ///设置边框颜色、边框宽度
     let btn = UIButton(type: .custom)
     btn.lgl_buttonBorder(.red, 1)
     ///设置边框颜色、边框宽度、圆角
     let btn = UIButton(type: .custom)
     btn.lgl_buttonBorder(.red, 1, 10)

UITextField+Extension

    ///初始化TextField 字体颜色、 字体大小、提示文字、边框样式
    let field = UITextField.lgl_textField(.red, UIFont.systemFont(ofSize: 14), "提示文字", .none)
    ///设置TextField 字体大小、字体颜色、提示文字、边框样式
    let field = UITextField()
    field.lgl_textField(.red, UIFont.systemFont(ofSize: 14), "提示文字", _ borderStyle: .none)
    ///设置Placeholder的字体大小和颜色
    let field = UITextField()
    field.lgl_textFieldPlaceholder(.red, UIFont.systemFont(ofSize: 14))
    ///设置LeftView
    let field = UITextField()
    let leftView = UIView()
    field.lgl_textFieldSetLeftView(leftView)
    ///设置RightView
    let field = UITextField()
    let rightView = UIView()
    field.lgl_textFieldSetRightView(rightView)
    ///修改clear按钮的图片
    let field = UITextField()
    field.lgl_textFieldChangeClearButton("clear_btn_image.png")
    ///切圆角
    let field = UITextField()
    field.lgl_textFieldCornerRadius(10)

UIImage+Extension

    /**图片拉伸 指定
        edgeInset 指定不被拉伸的区域
        imageName 图片名称
        resizeMode UIImageResizingModeTile,//进行区域复制模式拉伸 【-】 -> 【-】【-】【-】
        resizeMode UIImageResizingModeStretch,//进行渐变复制模式拉伸 连续的 【-】 -> 【-----】
    */
    let image = UIImage(named:"image.png")
    ///设置要保留的部分
    let uiedgeSet = UIEdgeInsets(top: 11, left:0, bottom: 11, right: 0)
    let resizeMode =  .stretch
    
    let strechImage = image.lgl_stretchImage(uiedgeSet, resizeMode) 
}

2. 颜色

    ///设置颜色
    let color = UIColor(0xefefef)
    let color = UIColor.lgl_color("#efefef") -> UIColor
    ///适配暗黑模式设置颜色 dark -- 暗黑模式下的颜色   light -- 其他模式下的颜色
    ///darkColor   lightColor
    let color = UIColor.lgl_traitColor(.white, black) 
    let color = UIColor.lgl_traitColor(.white)

3. 字符串

/// --- 基于NSRegularExpression判断 --

| 方法 | 返回值类型 | 说明 | | --- | --- | --- | | lgl_isMatch(regularString: String) | Bool | 字符串参数(自定义正则判断) | | lgl_isMatch(regularString: XLRegularString) | Bool | 枚举值参数(自定义正则判断) | | lgl_isPhoneNumber()| Bool | 判断手机号 | lgl_isTelePhoneNumber() | Bool | 判断固定电话| | lgl_isVericationCode() | Bool | 验证码格式| | lgl_isEmail() | Bool | 判断邮箱| | lgl_isUsername() | Bool | 判断用户名 | | lgl_isPassword()| Bool | 判断密码| | lgl_isPostalCode()| Bool | 判断邮政编码 | | lgl_isIDCardNumber()| Bool | 判断身份证号 | | lgl_hasNumber()| Bool | 是否包含数字的字符串| | lgl_allNumber()| Bool | 是否纯数字字符串 | | lgl_hasLowerCase()| Bool | 是否包含小写字母的字符串 | | lgl_allLowerCase()| Bool | 是否纯小写字母字符串 | | lgl_hasUpperCase()| Bool | 是否包含大写字母的字符串 | | lgl_allUpperCase()| Bool | 是否纯大写字母字符串 | | lgl_hasLet

Related Skills

View on GitHub
GitHub Stars30
CategoryDevelopment
Updated1y ago
Forks2

Languages

Swift

Security Score

75/100

Audited on May 10, 2024

No findings