便利构造函数的使用

假如同时需要几个Label,默认字体颜色、字体大小都是统一的,为了提高开发效率,同时精简代码,可以考虑给UILabel添加分类,提供初始化方法

Swift:可以利用重载构造函数或者便利构造函数
OC:可以通过自定义构造函数

在Swift中,还可以通过便利构造函数为Label实现自动换行、动态行高并设置Label宽度的功能
如果不需要设置宽度,传入0即可

extension UILabel {
    
    convenience init(textFont: CGFloat,textColor: UIColor,maxWidth: CGFloat = 0){
        self.init()
        self.font = UIFont.systemFontOfSize(textFont)
        self.textColor = textColor
        
        if maxWidth > 0 {
            
            self.preferredMaxLayoutWidth = maxWidth
            self.numberOfLines = 0
        }
    }
}

这样,在初始化Label 的时候,通过
convenience init(textFont: CGFloat,textColor: UIColor,maxWidth: CGFloat = 0)
便利构造函数为UILabel提供了
convenience init(textFont: CGFloat,textColor: UIColor)

convenience init(textFont: CGFloat,textColor: UIColor,maxWidth: CGFloat = 0)
两个初始化方法

初始化Label.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容