CSSwiftExtension - 贡献一个非常好用的Swif

作者: icetime17 | 来源:发表于2017-02-01 12:27 被阅读324次

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

    Foundation

    String extension

    let string = " hello 17, this is my city "
    let a = string.cs_trimmed
    let b = string.cs_length
    aNonUTF8String.cs_utf8String
    
    let 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.appVersion
    UIApplication.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.imageMirrored
    let b = image.cs.imageCropped(bounds: CGRect(x: 0, y: 0, width: 200, height: 200))
    let c = image.cs.imageWithNormalOrientation
    let 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.wechatShareThumbnail
    let h = image.cs.grayScale
    
    // Thanks to https://github.com/bahlo/SwiftGif for gif support
    aImageView.loadGif(name: "Railway")
    aImageView.image = UIImage.gif(name: "Railway")
    

    UIView extension

    imageView.cs.snapShot()
    let aView = AView.cs.loadFromNib("AView") as? AView
    aView.setCornerRadius(radius: 20)
    aView.setCornerRadius(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 operation
    btnTest.cs.setBackgroundColor(UIColor.blue, for: .normal) // set backgroundColor
    btnTest.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")
        }
    }
    

    相关文章

      网友评论

      • bdb5afbd7384:👏👏👏
      • 丶雨凡:开源👏
        建议参考RxSwift,ReactCocoa的样式:
        string.cs_trimmed => string.cs.trimmed
        丶雨凡:@icetime17 :wink:
        icetime17:恩恩。最近刚好也在研究RxSwift,后续会做相关的更新。O(∩_∩)O谢谢

      本文标题:CSSwiftExtension - 贡献一个非常好用的Swif

      本文链接:https://www.haomeiwen.com/subject/nnxlittx.html