深入了解MCComponentExtension库的基本使用

  1. 目录路径:MCComponentExtension/Bundle/Bundle+Extension
获取bundle的路径。
Bundle.MCGetBundlePath(bundleName:String)
加载指定bundle路径下的图片
Bundle.MCLoadImageFromBundleName(bundleName:String,imageName:String)
  1. 目录路径:MCComponentExtension/Int/Int+Extension
转换类型
转换类型 Int String
Int \ toInt
String toString \
Float toFloat toFloat
Double toDouble toDouble
Number toNumber toNumber
YuanRMB(String) toYuanRMB \
String 设置属性
String设置 String
MCMD5(MD5加密) MCMD5
字符串高度 MCGetHeight
字符串宽度 MCGetWidth
截取指定的区间 MCCutRange(location:Int, length:Int)
截取从头截取到指定index MCCutFromPrefixToIndex(index:Int)
截取从指定位置截取到尾部 MCCutToSuffixFromIndex(index:Int)
String 设置文本属性
String文本 String 返回类型
文本的颜色 MCSetMutableColor(color:UIColor,range:NSRange) NSAttributedString
文本的字体大小 MCSetMutableFont(font:CGFloat,range:NSRange) NSAttributedString
文本的字体大小和颜色 MCSetMutableFontAndColor(font:CGFloat,fontRange:NSRange,color:UIColor,colorRange:NSRange) NSAttributedString
文本的行间距 MCSetLineSpace(lineSpace:CGFloat) NSAttributedString
删除线 MCSetDeleteLine(color:UIColor) NSAttributedString
图文详情 MCSetTextAttachment(image:UIImage,imageFrame:CGRect) NSMutableAttributedString
判断是否是11位
String.MCPhoneNumberIsTrue(str:String) // 返回值为bool
字符串转字典
String.MCCreateDictionary() // 返回值为NSDictionary
生成二维码图片logoImage 中间的图片logo
String.MCCreateQRImage(logoImage:UIImage) // 返回值为UIImage
  1. 目录路径:MCComponentExtension/MCLoading/MCLoading+Extension
提示框,不传参数(用默认参数) 显示一个菊花loading,切换图片的时间间隔(ms),timeInterval,images 图片集合
MCLoading.loading(images: [UIImage], timeInterval: Int)
提示框
功能 提示框 默认(时间2秒,字体14)
显示纯文字 MCLoading.text(String, autoClearTime: CGFloat, font: CGFloat) MCLoading.text(String)
成功的提示 MCLoading.success(String, autoClearTime: CGFloat, font: CGFloat) MCLoading.success(String)
失败的提示 MCLoading.failure(String, autoClearTime: CGFloat, font: CGFloat) MCLoading.failure(String)
普通x消息的提示 MCLoading.info(String, autoClearTime: CGFloat, font: CGFloat) MCLoadinginfo(String)
关闭所有 MCLoading.remove() \
顶部状态栏消息的弹出 MCLoading.textOnStatusBar(String, autoClearTime: CGFloat, font: CGFloat) MCLoading.textOnStatusBar(String)
  1. 目录路径:MCComponentExtension/NotificationCenter/Extension+NotificationCenter
发送通知
NotificationCenter.shared.post(MCNotification.wxLogin)

/*
 * 这里有几个固定的名称
 *  /// 微信登录
 *     case wxLogin
    /// 支付结果
  *    case payResult
    /// 刷新所有数据
 *     case reloadAllData
    /// 添加收货地址
 *     case addAddress
    /// 修改收货地址
 *     case modifyAddress
    /// 订单状态发生改变
 *     case orderStatusChange

 ***** 也可以自定义 ********
 */

// 创建通知中心
NotificationCenter.shared.addObserver(name: MCNotification, vc: Any, selector: Selector, object: Any?)

// 移除通知
NotificationCenter.shared.remove(MCNotification, vc: Any)

  1. 目录路径:MCComponentExtension/UIAlertController/UIAlertController+Extension
弹出提示框
功能 提示框(有按钮) 是否有取消(YES/NO)
在指定控制器上显示提示框 UIAlertController.MCShowAlert(title: String, confirm: (UIAlertAction) -> Void) NO
在根视图控制器上显示提示框 UIAlertController.MCShowAlert(title: String, message: String = "",confirm: ((UIAlertAction)->Void)?) NO
在指定控制器上显示确认框 UIAlertController.MCShowConfirm( title: String, message: String, on vc:self , confirm: ((UIAlertAction)->Void)?,cancel: ((UIAlertAction)->Void)?) YES
在根视图控制器上显示确认框 UIAlertController.MCLoading.MCShowConfirm( title: String ,message: String = "", confirm: ((UIAlertAction)->Void)?,cancel: ((UIAlertAction)->Void)? = nil) YES
在指定控制器上显示actionSheet(AlertAction根据数组数量决定) UIAlertController.MCShowActionSheetCustom( title: String ,message: String? = nil, on vc : UIViewController, items:[String],confirm : ((Int,String) -> Void)?, cancel: ((UIAlertAction)->Void)? = nil) YES
在指定控制器上显示拍照或者相册 UIAlertController.MCLoadingMCShowActionSheet_pictureWay(on vc :self,hander : ((String) -> Void)?) NO(有相册)
微信/朋友圈的ActionSheet 在指定控制器上显示拍照或者相册 UIAlertController.MCShowActionSheet_shareWay(on vc : UIViewController,hander : ((String) -> Void)?) NO(有分享)
  1. 目录路径:MCComponentExtension/UIBarButtonItem/UIBarButtonItem+Extension
导航栏左右边的图片
self.navigationItem.leftBarButtonItem = UIBarButtonItem.MCSetImage(UIImage.init(named: "Reuse_back"), target: self, selector: #selector(leftbackHander))
导航栏左右边的文字
navigationItem.rightBarButtonItem = UIBarButtonItem.MCSetText("提交", target: self, selector: #selector(rightItemEvent))
  1. 目录路径:MCComponentExtension/UIColor/UIColor+Extension
颜色的封装(例)
text.textColor = UIColor.MCHex(String)
颜色 方法 16进制颜色
一级标题 MCBlackOne 0x494949
次级标题 MCBlackTwo 0x666666
辅助标题 MCBlackThree 0x999999
未选中的颜色 MCUncheck 0xDADADA
分隔条 (8px) MCBar 0xf2f2f2
分割线 & 页面背景底色 MCLine 0xf6f6f6
PlaceHolder颜色 MCPlaceHolder 0xCACACC
RGB颜色 MCRGB(r: CGFloat,g: CGFloat,b: CGFloat) \
16进制的生成颜色 MCHex(_ hex: String, _ alpha: CGFloat = 1.0) \
通过颜色生成图片 MCCreateImage() 返回值UIImage
渐变色
let gradiet = CAGradientLayer.MCCreateLayer(cgColors: [CGColor], direction: CAGradientLayer.CAGradientDirection.vertical)
view.layer.addSublayer(gradiet)
  1. 目录路径:MCComponentExtension/UIDevice/UIDevice+Extension
系统的封装(例,宽,高,状态栏)
// 例子获取到屏幕的宽
UIDevice.width 
名称 方法 类型
屏幕宽 width CGFloat
屏幕高 height CGFloat
状态栏高度 statusBarHeight CGFloat
导航栏高度 navigationBarHeight CGFloat
tabbar的高度 tabBarHeight CGFloat
顶部安全区域的高度 topSafeAreaHeight CGFloat
底部安全区域 bottomSafeAreaHeight CGFloat
版本号 appVersion String
构建号 appbBuild String
app的名称 appName String
工程名 appProjectName String
获取该app的缓存 MCCacheSize() String
清理该app的缓存 MCClearCache() \
  1. 目录路径:MCComponentExtension/UIFont/UIFont+Extension
字体的大小
// 例:复制字体大小 10 - 34 字体大小
UIFont.MC14

// 例:加粗  15 - 22
UIFont.MCBold15
  1. 目录路径:MCComponentExtension/UIImage/UIImage+Extension
图片裁切,压缩等操作
//压缩上传图片到指定字节
UIImage.MCCompressTo(UIImage)

//重设图片的size
UIImage.MCResize(CGSize)

//通过指定图片最长边,获得等比例的图片size
UIImage.MCZoomByMaxSide(CGFloat)

//裁切指定区域(CGRect)获取图片
UIImage.MCCropByRect(CGRect)

//给图片添加水印图片
UIImage.MCAddWatermark(image:UIImage,scale:CGFloat)

//更改图片颜色 统一渲染为一个纯色。注意图片上透明的使用。
UIImage.MCRenderingByColor(UIColor)

//修复图片旋转
UIImage.MCFixOrientation()

//生成一个替代图
MCPlaceholder (
        size     :(width:CGFloat,height:CGFloat) = (200,100),
        logoImage: UIImage? = UIImage.init(),
        bgColor  : UIColor = UIColor.init(red: 242/255.0, green: 242/255.0, blue: 242/255.0, alpha: 1)
        )
//将一个UIView视图转为图片
UIView.createImage()

你可能感兴趣的:(深入了解MCComponentExtension库的基本使用)