麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Swift > 正文

swift控件工廠類的實(shí)現(xiàn)代碼

2020-03-09 17:44:13
字體:
供稿:網(wǎng)友

控件工廠類,簡(jiǎn)而言之就是,減少代碼的復(fù)用率,只在哪里用,然后在哪里調(diào):

代碼如下:

 

import UIKitclass ViewFactory: UIView,UITextFieldDelegate {  //默認(rèn)控件的尺寸  class func getDefaultFrame( ) -> CGRect  {    let defaultFrame = CGRect(x:0,y:0,width:100,height:30)    return defaultFrame  }    //類方法  class func createControl(type:String,title:[String],action:Selector,sender:AnyObject) -> UIView  {    switch type {    case "label":      return ViewFactory.creatLabel(title: title[0])      case "button":      return ViewFactory.createButton(title: title[0], action: action, sender: sender as! UIViewController)      case "text":      return ViewFactory.creatTextField(value: title[0], action: action, sender: sender as! UIViewController as UIViewController as! UITextFieldDelegate)      case "segment":      return ViewFactory.creatSegment(items: [title[0]], action: action, sender: sender as! UIViewController)    default:      return ViewFactory.creatLabel(title: title[0])    }  }    //創(chuàng)建按鈕控件  class func createButton(title:String, action:Selector, sender:UIViewController)    -> UIButton {      let button = UIButton(frame:ViewFactory.getDefaultFrame())      button.backgroundColor = UIColor.orange      button.setTitle(title, for:.normal)      button.titleLabel!.textColor = UIColor.white      button.titleLabel!.font = UIFont.systemFont(ofSize: 14)      button.addTarget(sender, action:action, for:.touchUpInside)      return button  }    //創(chuàng)建文本輸入框控件  class func creatTextField(value:String,action:Selector,sender:UITextFieldDelegate) -> UITextField  {    let textField = UITextField(frame:ViewFactory.getDefaultFrame())    textField.backgroundColor = UIColor.clear    textField.textColor = UIColor.black    textField.text = value    textField.borderStyle = .roundedRect    textField.adjustsFontSizeToFitWidth = true    textField.delegate = sender    return textField  }    //創(chuàng)建分段單選組件  class func creatSegment(items:[String],action:Selector,sender:UIViewController) -> UISegmentedControl  {    let segment = UISegmentedControl(items:items)    segment.frame = ViewFactory.getDefaultFrame()    segment.isMomentary = false    segment.addTarget(self, action: action, for: .valueChanged)    return segment  }    //創(chuàng)建文本標(biāo)簽控件  class func creatLabel(title:String) -> UILabel  {    let label = UILabel()    label.textColor = UIColor.black    label.backgroundColor = UIColor.white    label.text = title    label.frame = ViewFactory.getDefaultFrame()    label.font = UIFont(name:"微軟雅黑",size:16)    return label      }}

調(diào)用:

 

 func initVIewFactory()  {    //創(chuàng)建文本標(biāo)簽    let labelNum = ViewFactory.creatLabel(title: "閾值")    labelNum.frame = CGRect(x:20,y:100,width:60,height:30)    self.view.addSubview(labelNum)        let labelDm = ViewFactory.creatLabel(title: "維度")    labelDm.frame = CGRect(x:20,y:200,width:60,height:30)    self.view.addSubview(labelDm)        //創(chuàng)建文本輸入框    textNum = ViewFactory.creatTextField(value: "", action:#selector(factoryAction), sender: self as UITextFieldDelegate)    textNum.frame = CGRect(x:80,y:100,width:200,height:30)    textNum.returnKeyType = .done    self.view.addSubview(textNum)        let textNumSecond = ViewFactory.creatTextField(value: "", action: #selector(factoryActionSecond), sender: self as UITextFieldDelegate)    textNumSecond.frame = CGRect(x:80,y:200,width:200,height:30)    textNum.returnKeyType = .done    self.view.addSubview(textNumSecond)        //創(chuàng)建分段單選控件    segmentC = ViewFactory.creatSegment(items: ["3*3","4*4","5*5"], action: #selector(segmentAction), sender: self)    segmentC.frame = CGRect(x:80,y:200,width:200,height:30)    self.view.addSubview(segmentC)    segmentC.selectedSegmentIndex = 0        //創(chuàng)建按鈕控件    factorybtn = ViewFactory.createButton(title: "確定", action: #selector(factoryClick), sender: self)    factorybtn.frame.origin = CGPoint(x:80,y:300)    self.view.addSubview(factorybtn)      }    func factoryAction()  {      }    func factoryActionSecond()  {      }    func segmentAction()  {      }    func factoryClick()  {    print("我點(diǎn)擊了")  }

效果如下:

swift,控件工廠類

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 19禁国产精品福利视频 | 深夜精品福利 | 国产精品久久久久久久久粉嫩 | 欧美18一19sex性护士农村 | 在线观看一区二区三区四区 | 国产精品视频yy9299一区 | 久久久久久久久久久久久国产精品 | 免费在线看黄 | 成人一区二区三区在线 | 永久免费黄色大片 | 久久草在线视频 | 亚洲一区二区网址 | 色网免费观看 | 无码专区aaaaaa免费视频 | 成人毛片视频免费看 | 久久久在线 | 91成人免费网站 | 成人免费自拍视频 | 亚洲第一视频 | 国产免费一区二区三区最新不卡 | 91久久国产露脸精品国产护士 | 叉逼视频| 97黄色网| 久久一本日日摸夜夜添 | 日韩黄在线观看 | 欧美成人免费在线视频 | 日本在线视频一区二区三区 | 性少妇videosexfreexx入片 | 精品一区二区久久久久久按摩 | 国产精品高潮99久久久久久久 | 成人综合在线观看 | chinese xvideos gay| 黄色香蕉视频 | 国产精品成人亚洲一区二区 | 欧美大电影免费观看 | 久久久久久久久久综合 | 久久久久中精品中文字幕19 | 久久国产亚洲视频 | 久久国产精品免费视频 | 精品一区二区三区免费视频 | 一道本不卡一区 |