1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 @H_419_68@ 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | import UIKit class VIEwFactory { /** * 控件默认尺寸 */ class func getDefaultFrame() -> CGRect { let defaultFrame = CGRectMake (0,100,30) return defaultFrame } createControl(type: String ,Title:[ ],action: Selector AnyObject ) -> UIVIEw { switch (type) { case "label" : return VIEwFactory .createLabel(Title[0]) "button" : .createbutton(Title[0],action: action, sender: sender as UIVIEwController ) "text" : .createTextFIEld(Title[0], UITextFIEldDelegate ) "segment" : .createSegment(Title,sender: sender ) default : .createLabel(Title[0]) } } /** * 创建按钮控件 */ createbutton(Title: )-> UIbutton { var button = UIbutton (frame: .getDefaultFrame()) button.backgroundcolor = UIcolor .orangecolor() button.setTitle(Title,forState:. normal ) button.TitleLabel!.textcolor = .whitecolor() button.TitleLabel!.Font = UIFont .systemFontOfSize(14) button.addTarget(sender,action:action,forControlEvents: UIControlEvents . touchUpInsIDe ) button } /** * 创建文本输入框控件 */ createTextFIEld(value: ) -> UITextFIEld { textFIEld = UITextFIEld .getDefaultFrame()) textFIEld.backgroundcolor = .clearcolor() textFIEld.textcolor = .blackcolor() textFIEld.text = value textFIEld.borderStyle = UITextborderStyle RoundedRect textFIEld.adjustsFontSizetoFitWIDth = true @[email protected] = sender textFIEld } /** * 创建分段单选控件 */ createSegment(items: [ ) UISegmentedControl { segment = UISegmentedControl (items:items) segment.frame = .getDefaultFrame() //segment.segmentedControlStyle = UISegmentedControlStyle.bordered segment.momentary = false segment.addTarget(sender,147)!important">ValueChanged ) segment } /** * 创建文本标签控件 */ createLabel(Title: UILabel { label = UILabel () label.textcolor = .blackcolor(); label.backgroundcolor = .whitecolor(); label.text = Title; label.frame = .getDefaultFrame() label.Font = (name: "HelveticaNeue-Bold" 工厂类的使用: |
概述在iOS开发中,页面里有时会大量的用到一些控件,如果要一个个单独创建再设置样式的话就显得很麻烦。我们可以创建一个生成各种控件的工厂类,这样在需要的时候调用下就可以了。 下面以一个自定义的工厂类为例,其中提供了文本标签,按钮,文本输入框,分段单选控件的生成,效果图如下: 工厂类:ViewFactory.swift 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 在iOS开发中,页面里有时会大量的用到一些控件,如果要一个个单独创建再设置样式的话就显得很麻烦。我们可以创建一个生成各种控件的工厂类,这样在需要的时候调用下就可以了。 下面以一个自定义的工厂类为例,其中提供了文本标签,按钮,文本输入框,分段单选控件的生成,效果图如下: 工厂类:VIEwFactory.swift
评论列表(0条)