import UIKit

class ViewController: UIViewController {

// 按钮的创建

// UIButtonType.system: 前面不带图标, 默认文字为蓝色,有触摸时的高亮效果

// UIButtonType.custom: 定制按钮,前面不带图标, 默认文字为白色,无触摸时的高亮

// UIButtonType.contactAdd: 前面带 + 图标按钮,默认文字蓝色,无触摸高亮

// UIButtonType.detailDisclosure: 前面带 ! 图标, 默认文字蓝色, 有触摸高亮

// UIButtonType.infoDark: 同上

// UIButtonType.infoLight: 同上

override func viewDidLoad() {

super.viewDidLoad()

let button:UIButton = UIButton(type: .custom)

button.frame = CGRect(x: 100, y: 100, width: 100, height: 100)

button.setTitle("按钮", for: .normal)

self.view.addSubview(button)

button.backgroundColor = UIColor.red

// 添加点击事件

button.addTarget(self, action: #selector(tapped), for: .touchUpInside)

button.addTarget(self, action: #selector(touchBtn(sender:)), for: .touchUpInside)

// button 文字太长 设置 titleLabel 的 lineBreakMode 属性 调整

button.titleLabel?.lineBreakMode = .byClipping

// lineBreakMode 共支持如下几种样式

// .byTruncatingHead: 省略头部文字, 省略部分用 ... 代替

// .byTruncatingMiddle: 省略中间部分文字

// .byTruncatingTail: 省略尾部文字

// .byClipping: 直接将多余的部分截断

// .byWordWrapping: 自动换行 (按词拆分)

// .byCharWrapping: 自动换行 (按字符拆分)

// 注意: 当设置自动换行后(byCharWrapping 或 byWordWrapping), 我们可以在设置 title 时通过添加 \n 进行手动换行

}

func tapped() {

print("测试")

}

func touchBtn(sender: UIButton) {

if let text = sender.titleLabel?.text {

print(text)

}

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}

swift 实践- 04 -- UIButton的更多相关文章

  1. 使用Bootstrap 3开发响应式网站实践04,使用Panels展示内容

    在Bootstrap页面中,通常用Panels来展示主要功能的内容.该部分Html为: <div class="row" id="featureHeading&qu ...

  2. iOS -Swift 3.0 -UIButton属性大全

    // //  ViewController.swift //  Swift-UIButton // //  Created by luorende on 16/9/9. //  Copyright © ...

  3. Swift基础之UIButton

    //设置全局变量,将下面的替换即可    //var myButton = UIButton();    //系统生成的viewDidLoad()方法    override func viewDid ...

  4. swift学习之UIButton

    // //  ViewController.swift //  button // //  Created by su on 15/12/7. //  Copyright © 2015年 tian. ...

  5. Swift - 按钮(UIButton)的用法

    1,按钮的创建 (1)按钮有下面四种类型: UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果 UIButtonType.DetailDisc ...

  6. swift 实践- 12 -- UIPickerView

    import UIKit class ViewController: UIViewController , UIPickerViewDelegate,UIPickerViewDataSource{ v ...

  7. swift 实践- 08 -- UISegmentedControl

    import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...

  8. Swift 学习- 04 -- 字符串和字符

    // 字符串 和 字符 // 字符串 是有序的 Character (字符) 类型的值的集合,  通过 String 类型的集合 // swift 的 String 和 Character 类型提供了 ...

  9. Swift 实践之UIWebView

    1.选中工程,点击右键,New File>在iOS下选中Othe>Empty,生成一个.js的脚本文件,将代码粘贴过去保存; var script = document.createEle ...

随机推荐

  1. Zipkin 分布式数据追踪系统

    Zipkin 是一个分布式数据追踪系统,适用于微服务架构下的调用链路数据采集及分析工作. 可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈. ...

  2. javascript给定了日期如何获得星期几

    1.这可以用JavaScript的Date对象的getDay方法.如:获取当天是星期几,则为:new Date().getDay();//返回0-6,0对应星期天,1-6对应星期一到星期六2.如果想给 ...

  3. cpp 内嵌函数(lambda,struct)

    auto testFun = [this](int t)->void{ } []()->反回值{ } []内传入函数运行环境所用变量 ()内传入变量 捕捉块 lambda表达式的方括号部分 ...

  4. FTP之二

    username=admin password=123 ip=192.168.14.117 port=21 参考:http://blog.csdn.net/yelove1990/article/det ...

  5. 【报错】java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[

    报错 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleExce ...

  6. 【blog】mysql字段类型datetime和timestamp的区别

    首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同.前者范围为1000-01-01 00:00:00 ~ 9999-1 ...

  7. java中有哪4种整形数据类型?它们有什么不同之处?

    java中有哪4种整形数据类型?它们有什么不同之处? (byte.short.int和long型)最大值和最小值都不一样.

  8. JAVA锁和volatile的内存语义&volatile的使用场景

    JAVA锁的内存语义 当线程释放锁时,JMM(Java Memory Model)会把该线程对应的本地内存中的共享变量刷新到主内存中. 当线程获取锁时,JMM会将该线程对应的本地内存置为无效.从而使得 ...

  9. vue2.0安装

    vue2.0环境安装 参考网站http://www.open-open.com/lib/view/open1476240930270.html (以上博客vue init webpack-simple ...

  10. linux syscall 详解【转】

    转自:https://blog.csdn.net/feixin620/article/details/78416560 引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及ap ...