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
textField.delegate = 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"
label
}
}