Swift爬行篇-- UIButton

来源:互联网 发布:销售部数据流程图 编辑:程序博客网 时间:2024/05/17 02:24

1. 生成UIButton

        btn:UIButton = UIButton(type: UIButtonType.Custom )as UIButton  //初始化button的对象和风格        btn.frame = (CGRect(origin: CGPointMake(10.0, 110.0), size: CGSizeMake(150,50))) //设定button的位置        btn.setTitle("hello", forState:UIControlState.Normal)              //设置button的显示文字        btn.backgroundColor = UIColor.redColor()                           //设置背景颜色         //设置该button的响应函数, 函数名称后面加上: 表示传递触摸对象, 没有则不传递</span>                 btn.addTarget(self, action: "buttonClick:", forControlEvents: UIControlEvents.TouchUpInside)        btn.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)     //设置文字颜色        self.view.addSubview(btn)   //设置button界面显示         //设定的空间响应函数                 func buttonClick(sender: UIButton!){                  }



2.UIButton风格

来源:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/c/tdef/UIButtonType

DeclarationSWIFTenum UIButtonType : Int {    case Custom    case System    case DetailDisclosure    case InfoLight    case InfoDark    case ContactAdd    static var RoundedRect: UIButtonType { get }}ConstantsCustomNo button style.Available in iOS 2.0 and later.SystemA system style button, such as those shown in navigation bars and toolbars.Available in iOS 7.0 and later.DetailDisclosureA detail disclosure button.Available in iOS 2.0 and later.InfoLightAn information button that has a light background.Available in iOS 2.0 and later.InfoDarkAn information button that has a dark background.Available in iOS 2.0 and later.ContactAddA contact add button.Available in iOS 2.0 and later.RoundedRectA rounded-rectangle style button.Use UIButtonTypeSystem instead.PS:RoundedRect 该风格在Xcode5中已经被取消了,默认生成出来的button都是直角的,可通过代码手动设置圆角的风格(在属性view也没有该属性)<btn.layer.cornerRadius = 5/设置四角圆弧的曲度<btn.layer.borderWidth = 1//设置边框的宽度</span>btn.layer.borderColor = UIColor.whiteColor.CGColor //设置边框的颜色   没特殊情况下,边框的宽度和颜色其实都是不需要设置的</span>



3. button的使能

btn.enabled = false //设置按钮不能点击, true为使能


4.部分圆角button和折角button

//部分圆角按钮,主要是利用layer的mask属性,在通过CAShaperLayer和UIBezierPath来画        var btn7:UIButton = UIButton(frame: CGRect(x: 50, y: 330, width: 100, height: 35))        btn7.backgroundColor = UIColor.whiteColor()        btn7.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)        btn7.setTitle("部分圆角按钮", forState: UIControlState.Normal)                let shape:CAShapeLayer = CAShapeLayer()        let bepath: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)                //创建折角按钮        var btn8:UIButton = UIButton(frame: CGRect(x: 50, y: 380, width: 100, height: 35))        btn8.backgroundColor = UIColor.whiteColor()                btn8.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)        btn8.setTitle("折角按钮", forState: UIControlState.Normal)                let shape8:CAShapeLayer = CAShapeLayer()        let bepath8: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)


5.创建有图片的button

 //创建一个图片加文字的按钮        var btn3: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)        


6.创建图片背景的button

        btn.setBackgroundImage(UIImage(named:"background"),forState:.Normal)




资料来源:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIButton_Class/#//apple_ref/c/tdef/UIButtonType

http://www.wutongwei.com/front/infor_showone.tweb?id=88


0 0