微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

The Swift Code之设置UIButton的不同方式创建,以及不同的状态和外观

在设置rootViewController之后,在这个control里的viewDidLoad方法里,添加相应的代码.设置了9个不同类型的UIButton

  1. 创建了有状态的button,以及添加button事件

  2. 创建没有状态的button

  3. 创建一个图片文字的按钮,只要图片就不需要设置title

  4. 从系统定义的button类型创建button

  5. 创建禁止button

  6. 创建一个圆角button

  7. 部分圆角button,主要是利用layer的mask属性,在通过CAShaperLayer和UIBezierPath来画

  8. 创建折角button

  9. 创建border的button

importUIKit

classViewController:UIViewController{

overridefuncviewDidLoad(){
super.viewDidLoad()

//创建有状态的按钮
varbtn:UIButton=UIButton(frame:CGRect(x:50,y:50,width:100,height:25))

btn.setTitle("点击按钮",forState:UIControlState.Highlighted)
btn.setTitle("未点击",forState:UIControlState.normal)
btn.backgroundColor=UIColor.blackColor()
self.view.addSubview(btn)
//给按钮添加点击事件
btn.addTarget(self,action:"clickEvent:",forControlEvents:UIControlEvents.TouchUpInside)

//创建没有状态的按钮
varbtn2:UIButton=UIButton(frame:CGRect(x:50,y:85,height:35))
btn2.setTitle("normal",forState:UIControlState.normal)
btn2.backgroundColor=UIColor.blueColor()
self.view.addSubview(btn2)

//创建一个图片文字的按钮
varbtn3:UIButton=UIButton(frame:CGRect(x:50,y:130,width:180,height:35))
btn3.setimage(UIImage(named:"btn1"),forState:UIControlState.normal)
btn3.titleLabel?.font=UIFont.boldSystemFontOfSize(30)
btn3.imageView?.contentMode=UIViewContentMode.ScaleAspectFit
//btn3.imageEdgeInsets=UIEdgeInsets(top:0,left:0,bottom:0,right:0)
btn3.setTitle("图片按钮",forState:UIControlState.normal)
self.view.addSubview(btn3)

//从系统定义的按钮类型创建Button
varbtn4:UIButton=UIButton.buttonWithType(UIButtonType.ContactAdd)as!UIButton
//btn4.backgroundColor=UIColor.brownColor()
btn4.frame.offset(dx:60,dy:200)
self.view.addSubview(btn4)

//创建禁止按钮
varbtn5:UIButton=UIButton(frame:CGRect(x:50,y:240,height:35))
btn5.setTitle("点击按钮",forState:UIControlState.Highlighted)
btn5.setTitle("禁止按钮",forState:UIControlState.normal)
btn5.enabled=false//设置按钮不能点击
btn5.setTitleColor(UIColor.redColor(),forState:UIControlState.disabled)//代表已经禁止
btn5.backgroundColor=UIColor.purpleColor()
self.view.addSubview(btn5)

//创建一个圆角按钮
varbtn6:UIButton=UIButton(frame:CGRect(x:50,y:280,height:35))
btn6.backgroundColor=UIColor.whiteColor()
btn6.setTitleColor(UIColor.blackColor(),forState:UIControlState.normal)
btn6.setTitle("圆角按钮",forState:UIControlState.normal)
btn6.layer.cornerRadius=5
self.view.addSubview(btn6)

//部分圆角按钮,在通过CAShaperLayer和UIBezierPath来画
varbtn7:UIButton=UIButton(frame:CGRect(x:50,y:330,height:35))
btn7.backgroundColor=UIColor.whiteColor()
btn7.setTitleColor(UIColor.blackColor(),forState:UIControlState.normal)
btn7.setTitle("部分圆角按钮",forState:UIControlState.normal)

letshape:CAShapeLayer=CAShapeLayer()
letbepath:UIBezierPath=UIBezierPath(roundedRect:btn6.bounds,byRoundingCorners:UIRectCorner.TopRight|UIRectCorner.TopLeft,cornerRadii:CGSize(width:15,height:15))

UIColor.blackColor().setstroke()
shape.path=bepath.CGPath

btn7.layer.mask=shape
self.view.addSubview(btn7)

//创建折角按钮
varbtn8:UIButton=UIButton(frame:CGRect(x:50,y:380,height:35))
btn8.backgroundColor=UIColor.whiteColor()

btn8.setTitleColor(UIColor.blackColor(),forState:UIControlState.normal)
btn8.setTitle("折角按钮",forState:UIControlState.normal)

letshape8:CAShapeLayer=CAShapeLayer()
letbepath8:UIBezierPath=UIBezierPath()
bepath8.movetoPoint(CGPoint(x:0,y:0))
bepath8.addLinetoPoint(CGPoint(x:80,y:0))

bepath8.addLinetoPoint(CGPoint(x:100,y:15))
bepath8.addLinetoPoint(CGPoint(x:100,y:35))
bepath8.addLinetoPoint(CGPoint(x:0,y:35))
bepath8.closePath()

shape8.path=bepath8.CGPath

btn8.layer.mask=shape8
self.view.addSubview(btn8)

//创建border按钮
varbtn9:UIButton=UIButton(frame:CGRect(x:50,y:420,height:35))
btn9.backgroundColor=UIColor.whiteColor()
btn9.setTitle("边框按钮",forState:UIControlState.normal)
btn9.setTitleColor(UIColor.blackColor(),forState:UIControlState.normal)
btn9.layer.borderColor=UIColor.blackColor().CGColor
btn9.layer.borderWidth=1
btn9.layer.cornerRadius=5
self.view.addSubview(btn9)

//

}


overridefuncdidReceiveMemoryWarning(){
super.didReceiveMemoryWarning()
//dispoSEOfanyresourcesthatcanberecreated.
}

funcclickEvent(sender:AnyObject){
NSLog("按钮点击了事件")
}




}

效果如下

DA06C42A-0C06-4E87-B5C5-D89D14BC7534.png

转载至吴统威的博客:http://www.wutongwei.com/front/infor_showone.tweb?id=88

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐