Swift

[Swift]UITextField Extension #1

UITextField Extension #1

func setTintColorToClearButton(){
    let anyobj:AnyObject? = self.valueForKey("_clearButton")
    if let anyobj:AnyObject = anyobj {
        if anyobj.isMemberOfClass(UIButton) {
            let button:UIButton = anyobj as UIButton
            if let image:UIImage = button.imageForState(.Highlighted) {
                let paintedImage:UIImage = image.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
                button.setImage(paintedImage, forState: .Normal)
                button.setImage(paintedImage, forState: .Highlighted)
            }
        }
    }
}

[Swift]UIButton Extension #1

UIButton Extension #1

var titleText:String{
    get{
        if let titleLabel:UILabel = self.titleLabel {
            if let titleLabelText:String = titleLabel.text {
                return titleLabelText
            }
        }
        return ""
    }
    set{
        self.setTitle(newValue, forState: .Normal)
        self.setTitle(newValue, forState: .Highlighted)
        self.setTitle(newValue, forState: .Selected)
        self.setTitle(newValue, forState: .Reserved)
        self.setTitle(newValue, forState: .Disabled)
    }
}

[Swfit]UIView Extension #5

UIView Extension #5

func fade(fadein:Bool, duration:CGFloat=0.3, operateHidden:Bool=true){
    if operateHidden {
        self.hidden = false
    }
    UIView.setAnimationBeginsFromCurrentState(true)
    UIView.animateWithDuration(NSTimeInterval(duration), delay: 0.0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0.0, options: UIViewAnimationOptions.CurveLinear,
        animations: { () -> Void in
            self.alpha = (fadein) ? 1.0 : 0.0
        },
        completion: { (finish:Bool) -> Void in
            if operateHidden {
                self.hidden = !fadein
            }
        }
    )
}

[Swift]UIView Extension #4

UIView Extension #4

var subviewsSortByTop:[AnyObject]{
    get{
        var w:[AnyObject] = self.getSubviews()
        w.sort { (v1:AnyObject, v2:AnyObject) -> Bool in
            return v1.origin.y < v2.origin.y
        }
        return w
    }
}

[Swfit]UIView Extension #3

UIView Extension #3

func goto(left:CGFloat,top:CGFloat, duration:CGFloat=0.4){
    UIView.setAnimationBeginsFromCurrentState(true)
    UIView.animateWithDuration(NSTimeInterval(duration), delay: 0.0, usingSpringWithDamping: 1.0, initialSpringVelocity: 0.0, options: UIViewAnimationOptions.CurveEaseInOut,
        animations: { () -> Void in
            self.left = left
            self.top = top
        },
        completion: { (finish:Bool) -> Void in
            
        }
    )
}

[Swift]UIImageView Extension #1

UIImageView Extension #1

extension UIImageView {
    var paintColor:String{
        get{
            return ""
        }
        set{
            if self.image != nil {
                if newValue == "" {
                    self.paintByTintColor = false
                }else{
                    self.tintColor = Drawer.getUIColorByColorHex(newValue, alpha: 1.0, luminanceScale: 1.0)
                    self.paintByTintColor = true
                }
            }
        }
    }
    var paintByTintColor:Bool{
        get{
            return true
        }
        set{
            if newValue {
                self.image = self.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate)
            }else{
                self.image = self.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
            }
        }
    }
}

[Swift]UIView Extension #2

UIView Extension #2

var className:String{
    get{
        return NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!
    }
}
var fileName:String{
    get{
        return __FILE__.componentsSeparatedByString("/").last!
    }
}

[Swift]UIView Extension #1

UIView Extension #1

var left:CGFloat{
    get{
        return self.frame.origin.x
    }
    set{
        self.frame = CGRectMake(newValue, self.frame.origin.y, self.frame.size.width, self.frame.size.height)
    }
}
var right:CGFloat{
    get{
        return self.frame.origin.x + self.frame.size.width
    }
    set{
        self.frame = CGRectMake(newValue - self.frame.size.width, self.frame.origin.y, self.frame.size.width, self.frame.size.height)
    }
}
var top:CGFloat{
    get{
        return self.frame.origin.y
    }
    set{
        self.frame = CGRectMake(self.frame.origin.x, newValue, self.frame.size.width, self.frame.size.height)
    }
}
var bottom:CGFloat{
    get{
        return self.frame.origin.y + self.frame.size.height
    }
    set{
        self.frame = CGRectMake(self.frame.origin.x, newValue - self.frame.size.height, self.frame.size.width, self.frame.size.height)
    }
}

[Swfit]GCD #2

GCD #2

func dispatch_async_global(block: () -> ()) {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
}