论 Swift 开发入门 : 按钮(UIButton)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44403537

1、UIButton 概述

继承关系:UIButton -> UIControl -> UIView

控件样式:

2、UIButton 初始化

(1)使用 buttonWithType 构建按钮,已有的六种类型如下:

enum UIButtonType : Int {
    case Custom				// 自定义风格
    case System				// 圆角矩形
    case DetailDisclosure	// 蓝色小箭头
    case InfoLight			// 亮色感叹号
    case InfoDark			// 暗色感叹号
    case ContactAdd			// 十字加号
}

(2)使用 frame 自定义按钮

3、使用示例

override func viewDidLoad() {

    // 1、使用已有类型构建按钮
    let commonButton = UIButton.buttonWithType(.System) as UIButton
    // 修改按钮位置及大小
    commonButton.frame = CGRectMake(self.view.frame.width/2 - 100, 100, 200, 200)
    // 设置按钮背景图片
    commonButton.setBackgroundImage(UIImage(named:"logo.jpg"), forState: UIControlState.Normal)
    // 添加点击事件
    commonButton.addTarget(self, action: "buttonActions:", forControlEvents: UIControlEvents.TouchUpInside)
    // 设置按钮标签
    commonButton.tag = 1

    // 2、自定义按钮
    let customButton = UIButton(frame: CGRectMake(self.view.frame.width/2 - 100, 400, 200, 200))
    // 设置按钮标题
    customButton.setTitle("custom", forState: UIControlState.Normal)
    // 设置按钮标题颜色
    customButton.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
    // 设置按钮标题阴影
    customButton.setTitleShadowColor(UIColor.blackColor(), forState: UIControlState.Normal)
    // 设置按钮阴影
    customButton.titleLabel?.shadowOffset =  CGSizeMake(1.0, 1.0)
    // 设置按钮标题字体样式
    customButton.titleLabel!.font = UIFont.systemFontOfSize(18)
    // 设置按钮标题换行模式
    customButton.titleLabel!.lineBreakMode = .ByTruncatingTail
    // 设置按钮背景色
    customButton.backgroundColor = UIColor(red:0.8,green:0.8,blue:0.8,alpha:1.0)
    // 设置按钮内部内容边距
    customButton.contentEdgeInsets = UIEdgeInsetsMake(-100, 0, 0, 0)
    // 去掉高亮状态下的图像颜色加深
    customButton.adjustsImageWhenHighlighted = false;
    // 去掉禁用状态下的图像颜色加深
    customButton.adjustsImageWhenDisabled = false;
    // 添加按钮按下发光效果
    customButton.showsTouchWhenHighlighted  = true;
    // 添加点击事件
    customButton.addTarget(self,action:"buttonActions:",forControlEvents:UIControlEvents.TouchUpInside)
    // 设置按钮标签
    customButton.tag = 2

    self.view.addSubview(commonButton)
    self.view.addSubview(customButton)
}

/// 响应按钮点击事件
func buttonActions(sender: UIButton!) {
    println(sender.tag)
}

4、forState

这个参数的作用是定义按钮的文字或图片在何种状态下才会显现。有以下几种状态:

  • Normal(正常状态)
  • Highlighted(按下状态)
  • Disabled(禁用状态)
  • Selected(选中状态(手指已经离开))
  • Application(应用程序标志)
  • Reserved(预留状态)

5、两种设置背景图片方式的区别

  • setBackGroudImage:图片会被拉伸
  • setImage:图片保持原大小

6、结语

Github 上项目地址:UIButtonSample

文章最后更新时间:2015年3月18日10:11:03。参考资料如下:

(1)UIButton Class
Reference

(2)UIKit
User Interface Catalog: Buttons

时间: 2024-08-14 12:09:06

论 Swift 开发入门 : 按钮(UIButton)的相关文章

论 Swift 开发入门:活动指示器(UIActivityIndicatorView)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44828021 ------------------------------------------------------------------------------------------ 代码示例 // // ViewController.swift // UIActivityIndicatorViewSample // // Created by jinnchang on

论 Swift 开发入门 : 选择器(UIPickerView)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44487269 ------------------------------------------------------------------------------------------ 1.Summary -------------------------------------------------------------------------------------

论 Swift 开发入门 : 滑块(UISlider)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44487407 ------------------------------------------------------------------------------------------ 1.Summary -------------------------------------------------------------------------------------

论 Swift 开发入门:搜索框(UISearchBar)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44827923 ------------------------------------------------------------------------------------------ 代码示例 // // ViewController.swift // UISearchBarSample // // Created by jinnchang on 15/4/1. // C

论 Swift 开发入门 : 进度条(UIProgressView)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44802019 ------------------------------------------------------------------------------------------ 概述 ------------------------------------------------------------------------------------------ 代

论 Swift 开发入门 : 开关(UISwitch)

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44407193 1.UIButton 概述 继承关系:UISwitch -> UIControl -> UIView 2.控件样式 3.使用示例 var myButton: UIButton? var mySwitch: UISwitch? override func viewDidLoad() { self.myButton = UIButton.buttonWithType(.S

[连载]Swift开发入门(05)--- 枚举

??枚举是定义符号常量的手段,它把一堆相似的值组织在一起.例如你在指定文字对齐方式的时候通常有三种可选的值:左对齐.右对齐和居中对齐:你在处理游戏中的方法时可能的取值有东.西.南.北.Swift中的枚举比你了解的其他语言的枚举更加强大,它的行为类似于类和结构体,它甚至可以有自己的方法,包括构造器. 创建枚举 ??我们先通过一个简单的例子来认识一下枚举.玩过扑克牌的都知道,扑克有四种花色,分别是黑桃(spade).红心(heart).草花(club)和方块(diamond),如果我们要做一个扑克游

[连载]Swift开发入门(06)--- 函数式编程

??面向对象编程和函数式编程是目前最主流的两种编程范式,而关于这两种范式孰优孰劣的讨论一直都没有停止过.事实上,真正理解两种编程范式的程序员不会武断的说这二者孰优孰劣,因为任何编程语言都没有什么灵丹妙药让其使用者成为优秀的程序员.其实,像Java这样很经典的面向对象的编程语言,也能够看到函数式编程的影子,如果你使用过访问者模式.命令模式,如果你使用过接口回调,你实际上已经使用了函数式编程的理念,而且在新版本的Java中,已经开始支持Lambda表达式和函数式接口,这些都是Java为了支持函数式编

Swift开发语法

Swift开发入门 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 2014 年,在 Apple WWDC 发布 历史 2010 年 7 月,苹果开发者工具部门总监 Chris Lattner(克里斯·拉特纳) 开始着手 Swift 编程语言的设计工作 用一年时间,完成基本架构 Swift 大约历经 4 年的开发期,2014 年 6 月发表 克里斯·拉特纳 ) 特色 苹果宣称 Swift 的特点是:快速.现代.安全.互动,而且明显优于 Object