Swift语言工厂设计模式和抽象工厂设计模式

Swift语言工厂设计模式和抽象工厂设计模式,第1张

概述工厂设计模式封装UI控件 2.1扩展label。 1)cmd + n—>新建一个Swift File—>将导入的框架改为 import UIKit 2)写一个扩展extension—>写一个类方法  class func  一定要有返回值  可以传参数 extension UILabel {     class func labelWith(text: String, fontSize: CGFl

工厂设计模式封装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语言工厂设计模式和抽象工厂设计模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存