CSSwiftExtension - 贡献一个非常好用的Swift extension集合

来源:互联网 发布:mac fonts文件夹 编辑:程序博客网 时间:2024/06/09 22:44

CSSwiftExtension是我个人开源的一个非常有用的Swift extension集合。支持CocoadPods和Carthage。
目前主要包含Foundation和UIKit的两类extension,基本使用如下:

Foundation

String extension

let string = " hello 17, this is my city "let a = string.cs_trimmedlet b = string.cs_lengthaNonUTF8String.cs_utf8Stringlet regExp_email = "^[a-zA-Z0-9]{1,}@[a-zA-Z0-9]{1,}\\.[a-zA-Z]{2,}$"cs_validateWithRegExp(regExp: regExp_email)

Array extension

[1, 5, 10].cs_sum["a", "b", "c", "a", "c"].cs_removeDuplicates()

UIKit

UIApplication extension

UIApplication.shared.cs_appVersionUIApplication.shared.cs_currentViewController

UIColor extension

imageView.backgroundColor = UIColor(hexString: 0x123456, alpha: 0.5)imageView.backgroundColor = UIColor.cs_random

UIImage extension

guard let image = UIImage(named: "Model.jpg") else { return }let a = image.cs_imageMirroredlet b = image.cs_imageCropped(bounds: CGRect(x: 0, y: 0, width: 200, height: 200))let c = image.cs_imageWithNormalOrientationlet d = image.cs_imageRotatedByDegrees(degrees: 90)let e = image.cs_imageWithCornerRadius(cornerRadius: 100)let f = image.cs_imageScaledToSize(targetSize: CGSize(width: 300, height: 300), withOriginalRatio: true)let g = image.cs_wechatShareThumbnaillet h = image.cs_grayScale// Thanks to https://github.com/bahlo/SwiftGif for gif supportaImageView.loadGif(name: "Railway")aImageView.image = UIImage.gif(name: "Railway")

UIView extension

imageView.cs_snapShot()let aView = AView.cs_loadFromNib("AView") as? AViewaView.cs_cornerRadius(corners: [.bottomLeft, .bottomRight], radius: 20)

UIImageView extension

let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 300, height: 500), blurEffectStyle: .light)

UITableView extension

aTableView.cs_removeEmptyFooter()aTableView.cs_scrollToTop(animated: true)tableView.cs_register(MyTableViewCell.self)let cell = tableView.cs_dequeueReusableCell(forIndexPath: indexPath) as MyTableViewCell

UIButton extension

btnTest.cs_acceptEventInterval = 2 // to avoid UIButton's multiple click operationbtnTest.cs_setBackgroundColor(UIColor.blue, for: .normal) // set backgroundColorbtnTest.cs_setBackgroundColor(UIColor.red, for: .highlighted)

CGPoint extension

aPoint.cs_distance(toPoint: bPoint)CGPoint.cs_distance(fromPoint: aPoint, toPoint: bPoint)

DispatchQueue extension

DispatchQueue.cs_delay(2) {    print("delay action")}DispatchQueue.cs_global {    print("global action")    DispatchQueue.cs_main {        print("main action")    }}
0 0
原创粉丝点击