工厂设计模式封装UI控件
2.1扩展label。
1)cmd + n—>新建一个Swift file—>将导入的框架改为 import UIKit
2)写一个扩展extension—>写一个类方法 class func 一定要有返回值 可以传参数
extension UILabel {
class func labelWith(text: String,FontSize: CGfloat,textcolor: UIcolor)-> let l = UILabel()
l.text = text
l.textcolor = textcolor
l.Font = UIFont.systemFontOfSize(FontSize)
l.textAlignment = .Center
l.numberOflines = 0
//自适应大小
l.sizetoFit()
return l
}
}
再懒加载创建label时的代码:
private lazy var tipLabel: UILabel = UILabel.labelWith("",FontSize: 14,175);">UIcolor.darkGraycolor())
2.2扩展button。 cmd+shift+f “搜索"
import UIKit
UIbutton {
//第一种按钮样式:背景视图+文字
func buttonWithTitle(backgroundImage: UIcolor,175);">CGfloat) -> UIbutton {
let btn = UIbutton()
btn.setBackgroundImage(UIImage(named: backgroundImage),forState:.normal)
btn.setTitle(Title,forState: .normal)
btn.setTitlecolor(Titlecolor,forState: .normal)
设置按钮中文字的字体。
btn.TitleLabel?.Font = UIFont.systemFontOfSize(FontSize)
btn.return btn
}
第二种按钮样式:图片+背景视图
func buttonWithImage(imagename: String) -> setimage(UIImage(named: imagename),forState: .normal)
btn.UIImage(named: imagename + "_highlighted"),forState: .Highlighted)
btn.UIImage(named: backgroundImagename),175);">UIImage(named: backgroundImagename + return btn
}
}
3.抽象工厂设计模式 类簇(NSNumber,Nsstring,NSArray,NSDictionary):NSNumber 类 就是 使用抽象工厂设计模式来实现。
import UIKit
抽象类
所有的UI控件,都是通过这个类来进行实例化
//NSNumber 类 就是 使用抽象工厂设计模式来实现
class UIFactory {
抽象方法
func labelFactory(text: labelWith(text,FontSize: FontSize,textcolor: textcolor)
return l
}
UIbutton.buttonWithTitle(backgroundImage,Title: Title,Titlecolor: Titlecolor,FontSize: FontSize)
return btn
}
buttonWithImage(imagename,backgroundImagename: backgroundImagename)
return btn
}
}
总结以上是内存溢出为你收集整理的Swift语言工厂设计模式和抽象工厂设计模式全部内容,希望文章能够帮你解决Swift语言工厂设计模式和抽象工厂设计模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)