美文网首页iOS基础
swift分类和扩展的使用

swift分类和扩展的使用

作者: 鹏飞说 | 来源:发表于2020-07-19 17:49 被阅读0次

其实在swift中严格的说是没有分类的一说的,swift建议我们使用扩展功能实现一些系统控件的扩展
但是在实际的开发中,如果我们使用的是xib的话,还是使用分类能好点,我们直接继承就好了!
接下来就说下继承的方法实现:
下方的例子是一个UILable的继承,使用渐变的方法

class gradLabel: UILabel {
    override func awakeFromNib() {
        super.awakeFromNib()
        let topColor = UIColor(red: 248/255, green: 66/255, blue: 109/255, alpha: 1)
        let buttomColor = UIColor(red: 244/255, green: 74/255, blue: 150/255, alpha: 1)
        let gradientColors = [topColor.cgColor, buttomColor.cgColor]
         
        //定义每种颜色所在的位置
        let gradientLocations:[NSNumber] = [0.0, 1.0]
        
        //创建CAGradientLayer对象并设置参数
        let gradientLayer = CAGradientLayer()
        gradientLayer.startPoint = CGPoint(x: 0, y: 0.5)
        gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)
        gradientLayer.colors = gradientColors
        gradientLayer.locations = gradientLocations
        gradientLayer.frame = self.bounds
        self.layer.insertSublayer(gradientLayer, at: 0)
    }
}

使用这个方法最简单的方法就是,我们再使用xib或者sb的时候创建的控件直接继承就好了,会很方便的!如果你使用xib的话可以使用这个方法
下方的例子是一个UILabel的扩展

extension UILabel {
    convenience init(title:String,frame:CGRect,font:CGFloat,textColor:UIColor,textAlignment:NSTextAlignment) {
        self.init(frame:frame)
        self.text = title
        self.numberOfLines = 0
        self.textAlignment = textAlignment
        self.frame = frame
        self.font = UIFont.systemFont(ofSize: font)
        self.textColor = textColor
        
    }
}

相关文章

  • swift分类和扩展的使用

    其实在swift中严格的说是没有分类的一说的,swift建议我们使用扩展功能实现一些系统控件的扩展但是在实际的开发...

  • Swift5.0 - day7-扩展、访问控制、内存管理

    一、扩展(Extension) 1.1、扩展介绍Swift中的扩展,有点类似于OC中的分类(Category)扩展...

  • 分类和扩展的使用

    一、类扩展 格式: 说明: 1、类扩展可以为某一个类添加额外的属性,成员变量,方法等,并且都是该类的私有项 2、类...

  • iOS-Swift-扩展

    1. 扩展(Extension) Swift中的扩展,有点类似于OC中的分类(Category) 扩展可以为枚举、...

  • [Swift5.1] 18-扩展

    扩展(Extension) Swift中的扩展,有点类似于OC中的分类(Category) 扩展可以为枚举、结构体...

  • 扩展

    扩展(Extension) Swift中的扩展,有点类似于OC中的分类(Category) 扩展可以为枚举、结构体...

  • Swift扩展&协议&访问控制

    一、扩展 1、扩展简介: Swift中的扩展,类似于OC中的分类(Category)。 2、扩展可以为枚举、结构体...

  • swift扩展

    扩展 Swift中的扩展,有点类似于OC中的分类(Category) 扩展作用 扩展可以为枚举、结构体、类、协议添...

  • 2 extend 扩展(Swift)

    Swift中的扩展,有点类似于OC中的分类(Category) 1 扩展可以办到的事情: 扩展可以为枚举、结构体、...

  • Swift 5.1 字符串截取

    Swift4.0以后字符串截取发生了变化,为了使用起来方便,创建了一个String的扩展实现分类效果

网友评论

    本文标题:swift分类和扩展的使用

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