//设置全局变量,将下面的替换即可
    //var myButton = UIButton();
    //系统生成的viewDidLoad()方法
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        //创建局部变量UIButton
        let myButton = UIButton.init(type: .Custom);
        //设置位置大小
        myButton.frame = CGRectMake(100, 100, 200, 100);
        //设置按钮标题
        myButton.setTitle("按钮点击", forState: .Normal);
        //设置标题字体大小
        myButton.titleLabel?.font = UIFont.systemFontOfSize(32);
        //设置按钮标题颜色

myButton.setTitleColor(UIColor.redColor(), forState: .Normal);

//设置按钮标题显示的位置

myButton.contentHorizontalAlignment = UIControlContentHorizontal.AlignmentLeft;

//设置背景图片
        myButton.setBackgroundImage(UIImage.init(named: "paybg.png"), forState: .Normal);
        //设置按钮背景颜色
        //myButton.backgroundColor = UIColor.cyanColor();
        //设置按钮标题高亮状态下的颜色
        myButton.setTitleColor(UIColor.darkGrayColor(), forState: .Highlighted);
        //设置按钮标题阴影位置,默认为(0,0)
        myButton.titleLabel?.shadowOffset = CGSizeMake(2.0, 1.0);
        //设置按钮标题阴影颜色
        myButton.setTitleShadowColor(UIColor.blueColor(), forState: .Normal);
        //设置按钮边框圆角
        myButton.layer.cornerRadius = 10;
        //设置按钮边框宽度,默认为0
        myButton.layer.borderWidth = 2;
        //设置按钮边框颜色,默认为黑色
        myButton.layer.borderColor = UIColor.brownColor().CGColor;
        //设置圆角之外的界面是否剪切,swift中的YES和NO改成了true和false
        myButton.clipsToBounds = true;
        //设置按钮tag值
        myButton.tag = 2;
        //设置按钮点击事件,Swift语言中当你添加事件后,必须要添加,否则会crash
        /*
        //此处要注意:
         2.2版本之前,这样写不会出现警告,也不会出现错误
         myButton.addTarget(self, action:"buttonClick", forControlEvents: .TouchUpInside);   
         现在2.2版本,如果这样写会出现警告,点出警告,系统会帮你修订正确方法:
         myButton.addTarget(self, action:#selector(ViewController.buttonClick(_:)), forControlEvents: .TouchUpInside); */
        //也可以这样写
        myButton.addTarget(self, action:#selector(buttonClick), forControlEvents: .TouchUpInside);

        //添加视图
        self.view.addSubview(myButton);
    }
    
    //按钮的点击事件
    func buttonClick(sender:UIButton!){
        print("print输出按钮的tag值",sender.tag);
        NSLog("NSLog输出按钮的tag值.....%d", sender.tag);
    }

Swift基础之UIButton的更多相关文章

  1. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  2. swift基础:第六部分:类与对象

    http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档) 互联网这个时代,你松懈一天,就会有很多很 ...

  3. swift基础:第二部分:函数和闭包

    今天本来想利用上午的时间本来打算将swift基础部分学习完的,不巧的是,后台来和我讨论用户评价的接口,讨论过后,商讨出一种可行的方案,十几分钟时间过去了,我拿到将接口介入到已经完成的页面中,完美,终于 ...

  4. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  5. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

  6. swift -- 基础

    swift -- 基础 1.常量和变量 常量: let 变量: var 2.声明常量和变量 常量的声明: let let  a = 1         //末尾可以不加分号,等号两边的空格必须对应(同 ...

  7. Swift基础学习

    Swift基础学习  http://c.biancheng.net/cpp/html/2242.html 这个网站最近看了一下,对于基本语法解释概括的相对全面,如同重新练习一遍OC似的,挺全面的,谢谢 ...

  8. Swift基础之使用Alamofire库进行网络请求和断点下载

    好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法 1.什么是Alamofire (1)Alamofire 的前身是 AFNetworking.AFNetwor ...

  9. 第三篇、Swift基础学习

    1.常量与变量 什么是常量和变量 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 变量的 ...

随机推荐

  1. Rails中rspec测试xxx_path调用失败的解决

    首先要想生成类似于home_path,about_path之类的方法,必须在路由文件中添加对应方法: match '/help',to:"static_pages#help",vi ...

  2. Android 开发环境的搭建(新环境)

    最近想往Android 转型,所以又重新捡起Android学习.看了一下各位大神的文章,说的比较乱,因为版本不一样所以搭建过程也不一样,我在这里说一下最简单快捷的方式.(PS:那时候搭建环境好复杂啊, ...

  3. java中八种基本数据类型以及它们的封装类,String类型的一些理解

    在我们面试或者考试过程中经常会考到八种基本数据类型以及它们的封装类,那么有哪八种基本数据类型呢?它们的封装类又是什么呢? 首先,八种基本数据类型分别是:int.short.float.double.l ...

  4. popupwindow中EditText获取焦点后自动弹出软键盘

    关于popupwindow中EditText获取焦点后自动弹出软键盘的问题,玩过手机qq或空间的童鞋应该知道,再点击评论时会弹出一个编辑框,并且伴随软键盘一起弹出是不是很方便啊,下面我们就来讲一下实现 ...

  5. OpenCV+OpenGL 双目立体视觉三维重建

    0.绪论 这篇文章主要为了研究双目立体视觉的最终目标--三维重建,系统的介绍了三维重建的整体步骤.双目立体视觉的整体流程包括:图像获取,摄像机标定,特征提取(稠密匹配中这一步可以省略),立体匹配,三维 ...

  6. Java学习之二维数组定义与内存分配详解

    二维数组:就是元素为一维数组的一个数组. 格式1: 数据类型[][] 数组名 = new 数据类型[m][n]; m:表示这个二维数组有多少个一维数组. n:表示每一个一维数组的元素有多少个. 注意: ...

  7. 如何将Ubuntu部署到U盘中,用U盘安装linux操作系统

    http://jingyan.baidu.com/article/d5c4b52be79960da560dc59f.html 用U盘装一个linux系统是非常简单的事情,不会就看看这篇文章吧,后期我会 ...

  8. 【Netty源码分析】Netty服务端bind端口过程

    这一篇博客我们介绍一下Netty服务端绑定端口的过程,我们通过跟踪代码一直到NIO原生绑定端口的操作. 绑定端口操作 ChannelFuture future = serverBootstrap.bi ...

  9. 6、Android Content Provider测试

    如果你的应用中使用了Content Provider来与其他应用进行数据交互,你需要对Content Provider进行测试来确保正常工作. 创建Content Provider整合测试 在Andr ...

  10. linux shell 判断文件是否存在等符号

    -a file exists.  -b file exists and is a block special file.  -c file exists and is a character spec ...