gpt4 book ai didi

swift控件工厂类的实现代码

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章swift控件工厂类的实现代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

控件工厂类,简而言之就是,减少代码的复用率,只在哪里用,然后在哪里调:

代码如下:

  。

?
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
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
import UIKit
 
class ViewFactory: UIView,UITextFieldDelegate {
 
   //默认控件的尺寸
   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])
     }
   }
  
   //创建按钮控件
   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
   }
  
   //创建文本输入框控件
   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
   }
  
   //创建分段单选组件
   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
   }
  
   //创建文本标签控件
   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
    
   }
}

调用:

  。

?
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
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
func initVIewFactory()
  {
    //创建文本标签
    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)
   
    //创建文本输入框
    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)
   
    //创建分段单选控件
    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
   
    //创建按钮控件
    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( "我点击了" )
  }

效果如下:

swift控件工厂类的实现代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/hero11223/p/7610081.html 。

最后此篇关于swift控件工厂类的实现代码的文章就讲到这里了,如果你想了解更多关于swift控件工厂类的实现代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com