Swift-按钮(UIButton)详解

//声明按钮的一个对象,是全局的

    var button1 :UIButton!

    

    overridefunc viewDidLoad() {

        super.viewDidLoad()

        

        //以自定义类型创建按钮

        button1 =UIButton.init(type:UIButtonType.Custom)

        

        //也可以这样来创建按钮

//        let button2 = UIButton(type:.Custom)

//        let button3 = UIButton(type:.Custom)

//        let button4 = UIButton.init(frame: CGRectMake(10, 10, 100, 100))

        

        

        //另外,按钮也可以用以下类型创建

        //默认文字颜色为蓝色,不带图标

        button1 =UIButton(type:.System)

        //默认文字颜色为蓝色,“!”图标按钮

        button1 =UIButton(type:.DetailDisclosure)

        //感叹号“!”圆形按钮

        button1 =UIButton(type:.InfoLight)

        //感叹号“!"圆形按钮

        button1 =UIButton(type:.InfoDark)

        //默认文字为蓝色,带“+”图标按钮

        button1 =UIButton(type:.ContactAdd)

        

        //设置按钮的尺寸

        button1.frame =CGRectMake(100,100, 100,100)

        

        //设置按钮的背景色

        button1.backgroundColor =UIColor.whiteColor()

        button1.backgroundColor =UIColor.init(white:0.9, alpha: 1)

        

        //设置按钮的背景图片

        //普通状态

        button1.setBackgroundImage(UIImage(named:"icon1"), forState: UIControlState.Normal)

        //高亮状态

        button1.setBackgroundImage(UIImage(named:"icon2"), forState: UIControlState.Highlighted)

        //选中状态

        button1.setBackgroundImage(UIImage(named:"icon3"), forState: UIControlState.Selected)

        

        //设置按钮的文字和文字的颜色

        //普通状态

        button1.setTitle("普通", forState: UIControlState.Normal)

        button1.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)

        //高亮状态

        button1.setTitle("高亮", forState: UIControlState.Highlighted)

        button1.setTitleColor(UIColor.redColor(), forState: UIControlState.Highlighted)

        //选中状态

        button1.setTitle("选中", forState: UIControlState.Selected)

        button1.setTitleColor(UIColor.blackColor(), forState: UIControlState.Selected)

        

        //设置按钮不同状态下的图片

        //普通状态

        button1.setImage(UIImage(named:"icon1"), forState: UIControlState.Normal)

        //高亮状态

        button1.setImage(UIImage(named:"icon2"), forState: UIControlState.Highlighted)

        //选中状态

        button1.setImage(UIImage(named:"icon3"), forState: UIControlState.Selected)

        

        //设置按钮上文字的阴影

        //普通状态下

        button1.setTitleShadowColor(UIColor.greenColor(), forState: UIControlState.Normal)

        //高亮状态下

        button1.setTitleShadowColor(UIColor.yellowColor(), forState: UIControlState.Highlighted)

        //选中状态下

        button1.setTitleShadowColor(UIColor.purpleColor(), forState: UIControlState.Selected)

        

        //设置tag

        button1.addTarget(self, action:#selector(buttonClick(_:)), forControlEvents:UIControlEvents.TouchUpInside)

        

        //按钮内容的边距(顶部,左边,底部,左边)

        button1.contentEdgeInsets =UIEdgeInsetsMake(100,0, 30,0)

        

        //按钮上图片的边距

        button1.imageEdgeInsets =UIEdgeInsetsMake(10,0, 20,0)

        

        //按钮上文本框的边距

        button1.titleEdgeInsets =UIEdgeInsetsMake(5,0, 10,0)

        

        //按钮长按状态下去掉文字阴影

        button1.reversesTitleShadowWhenHighlighted =true

        

        //高亮状态下调整图片

        button1.adjustsImageWhenHighlighted =true

        

        //高亮状态下变灰

        button1.showsTouchWhenHighlighted =true

        

        //设置按钮上的文字

        button1.titleLabel?.text ="请您关注多多关注"

        

        //设置按钮上的图片

        button1.imageView?.image =UIImage.init(named:"icon1")

        

        //添加按钮

        self.view.addSubview(button1)

        

    }

    

    //按钮的点击事件的处理

    func buttonClick(button :UIButton){

    

        //反选效果

        button.selected = !button.selected;

        

        //获取按钮当前文字

        print(button.currentTitle)

        

        

        /*

         

         按钮当前的一些属性,注意:只能读取,不能修改

         

         currentTitle//当前文字

         currentTitleColor//当前文字颜色

         currentTitleShadowColor//当前文字阴影色

         

         currentImage//当前图片

         currentBackgroundImage//当前背景图片

         

         

         */

        

        

        

    }


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值