`
iaiai
  • 浏览: 2196207 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Swift - 按钮(UIButton)的用法

 
阅读更多
1,按钮的创建
(1)按钮有下面四种类型:
UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.DetailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.System:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.Custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
UIButtonType.InfoDark:为感叹号“!”圆形按钮
UIButtonType.InfoLight:为感叹号“!”圆形按钮

//创建一个ContactAdd类型的按钮
var button:UIButton = UIButton.buttonWithType(UIButtonType.ContactAdd) as UIButton;
//设置按钮位置和大小
button.frame=CGRectMake(10, 150, 100, 30);
//设置按钮文字
button.setTitle("按钮", forState:UIControlState.Normal)
self.view.addSubview(button);

(2)对于Custom定制类型按钮,代码可简化为:
var button = UIButton(frame:CGRectMake(10, 150, 100, 30))

2,按钮的文字设置
button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字
button.setTitle("触摸状态", forState:UIControlState.Highlighted) //触摸状态下的文字
button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字

3,按钮文字颜色的设置
button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通状态下文字的颜色
button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //触摸状态下文字的颜色
button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用状态下文字的颜色

4,按钮文字阴影颜色的设置
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通状态下文字阴影的颜色

5,按钮背景颜色设置
button.backgroundColor=UIColor.blackColor()

6,按钮文字图标的设置
button.setImage(UIImage(named:"icon1"),forState:.Normal)  //设置图标
button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗
button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗

7,设置按钮背景图片
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)

8,按钮触摸点击事件响应
//不传递触摸对象(即点击的按钮)
button.addTarget(self,action:Selector("tapped"),forControlEvents:UIControlEvents.TouchUpInside)
func tapped(){
   println("tapped")
}
 
//传递触摸对象(即点击的按钮),需要在定义action参数时,方法名称后面带上冒号
button.addTarget(self,action:Selector("tapped:"),forControlEvents:UIControlEvents.TouchUpInside)
func tapped(button:UIButton){
   println(button.titleForState(.Normal))
}

常用的触摸事件类型:
  • TouchDown:单点触摸按下事件,点触屏幕
  • TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候
  • TouchDragInside:触摸在控件内拖动时
  • TouchDragOutside:触摸在控件外拖动时
  • TouchDragEnter:触摸从控件之外拖动到内部时
  • TouchDragExit:触摸从控件内部拖动到外部时
  • TouchUpInside:在控件之内触摸并抬起事件
  • TouchUpOutside:在控件之外触摸抬起事件
  • TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断
分享到:
评论

相关推荐

    swift-DFCountDownButton继承UIButton实现IOS倒计时按钮

    下面将详细解释其主要实现原理和使用方法。 首先,DFCountDownButton的核心是继承自UIButton,这样可以直接利用UIButton的所有功能,并在其基础上添加新的特性。在Swift中,继承是一种多态性表现,通过继承,...

    ios-Swift UIButton 和 UIAlertController详解.zip

    这篇详细的讲解将带你深入理解这两个控件的使用方法,以及如何自定义UIAlertController的样式。 首先,我们来讨论UIButton。UIButton是iOS应用中常用的控件,用于响应用户的触摸事件,例如点击按钮执行特定的操作。...

    swift-Maker是一个使用链式语法实现UIKit控件的Category

    在iOS应用开发中,UIKit是核心部分,包含了各种界面元素如按钮、标签、文本框等,而Swift-Maker的出现,就是为了方便开发者快速地定制和布局这些控件。 首先,链式语法是Swift-Maker的核心特性。链式语法允许开发者...

    swift-UIButton子类用于加载和转换动画

    在Swift开发中,按钮(UIButton)是用户界面中不可或缺的元素,它允许用户与应用进行交互。本主题将深入探讨如何创建一个UIButton的子类,该子类支持加载和转换动画,以提升用户体验并增强应用的视觉吸引力。这种...

    Swift编程-UI控件-UIButton(一)

    本教程将深入讲解UIButton的基本概念、使用方法以及常见功能,帮助开发者更好地理解和运用这一控件。 首先,UIButton是UIKit框架中的一个类,它继承自UIView,用于创建具有不同样式和功能的按钮。Swift中的UIButton...

    swift-SquishButton是UIButton的子类实现按下时会挤压的按钮

    总之,SquishButton是一个创新的Swift组件,它通过子类化UIButton并利用Swift的动画和触摸事件处理机制,实现了独特的挤压按钮效果。通过理解和使用这样的自定义控件,开发者可以提高应用的用户界面质量,为用户提供...

    swift-CCAnimationBtn一个UIButton子类模仿抖音App中点赞按钮的动画效果

    "swift-CCAnimationBtn"项目就是一个很好的示例,它提供了一个名为`CCAnimationBtn`的UIButton子类,其目的是模仿抖音App中点赞按钮的动画效果。这种动画效果通常包括按钮被点击时的心形图标逐渐展开,呈现出一种...

    swift-FSCustomButtonDemo一个高度自定义UIButton控件

    1. **子类化UIButton**:为了自定义按钮,我们需要创建一个新的Swift类,继承自UIButton。这样,我们就可以在这个新类中添加额外的属性和方法,覆盖父类的方法以实现自定义行为。 2. **扩展属性和方法**:自定义...

    swift-YLButton自定义按钮文字图片位置随意定制

    1. **源代码文件**(如`YLButton.swift`):包含了YLButton类的实现,包括初始化方法、布局调整的方法以及可能的扩展功能。 2. **示例项目**(可能在`Example`目录下):包含了一个使用YLButton的简单应用,展示了...

    swift-Swift可扩展按钮效果同时支持多种按钮状态

    为了实现这些特性,开发者可能使用了Swift的`@IBInspectable`和`@IBDesignable`属性,让这些自定义按钮在Interface Builder中可以直观地预览和配置。此外,`UIAppearance`协议也可能被用来统一应用内所有按钮的默认...

    swift-WJClipsButtonClips按钮的完整实现

    - `README.md`:介绍`WJClipsButton`的使用方法和特性。 - `.podspec`文件:如果`WJClipsButton`是一个CocoaPods库,那么这个文件包含了库的配置信息。 在实际使用中,开发者可以通过CocoaPods或手动导入`...

    swift-一个炫酷的按钮(适用于喜欢点赞收藏等)

    为了实现按钮的动态效果,Swift提供了多种动画API,包括UIView的animate(withDuration:)方法和CAAnimation框架。开发者可能使用了这些API来实现按钮在按下和松开时的过渡动画。例如,通过改变按钮的alpha值、...

    swift-UITableViewCell左右滑动出现更多按钮按钮高度自定义

    在Swift中,我们可以直接通过修改UIButton的frame或者使用AutoLayout来调整按钮的高度。如果使用AutoLayout,可以通过修改约束(constraints)来实现动态高度,例如设置按钮的heightAnchor与一个可变的Height约束相...

    swift-DropDowniOS的MaterialDesign下拉菜单

    4. **配置下拉菜单**:使用 `DropDown` 初始化方法,将按钮或文本字段作为父视图,并指定数据源。 5. **实现回调**:监听下拉菜单的选中事件,以便在用户做出选择后更新界面或执行其他操作。 通过以上步骤,你就...

    swift-RoundWaves按钮动画按钮的波纹发散动画

    Swift中的RoundWaves按钮动画是一种视觉效果,它模拟了水波纹扩散的效果,为用户界面增添了一种动态和吸引人的交互体验。这种动画通常应用于按钮点击事件,使得按钮在被按下时产生向外扩散的波纹效果,提高了用户...

    swift-一款简单的菜单按钮可以设置选中状态对应的会改变按钮的图标朝向属于辅助型按钮

    在开发过程中,记住始终关注用户体验,确保设计简洁明了,图标变化应直观反映按钮的状态,这样用户才能更好地理解和使用你的应用。在iOS应用开发中,利用Swift的强大特性和自定义控件,我们可以创造出更加独特和吸引...

    swift-Button-Animation按钮的渐变色效果

    使用`UIBezierPath`创建一个与按钮大小相同的路径,然后调用`context.drawLinearGradient()`方法来在该路径上绘制渐变。这个方法需要`CGGradient`对象、起点和终点坐标。 4. **自定义按钮视图**: 要在按钮上应用...

    swift-KeyBoard-Swift使用Swift编写的字母和数字键键盘可以用于UITextField和UITextView

    本文将深入探讨如何使用Swift语言创建一个适用于UITextField和UITextView的字母和数字键键盘,以此来替代系统默认键盘,增强用户输入体验。 Swift是一种苹果公司推出的强大且易学的编程语言,特别适合iOS、iPadOS、...

    swift-好用的iOS倒计时按钮

    今天我们将聚焦于一个特定的UI控件——"swift-好用的iOS倒计时按钮",它在处理诸如注册、验证码获取等场景时特别有用。在这些场景中,用户点击按钮后,按钮会进入倒计时状态,防止用户频繁发送请求。 倒计时按钮的...

    swift-SMSegmentView.swift-iOS中的自定义segmentedControl

    本教程将详细讲解如何使用Swift编写一个自定义的Segmented Control——`SMSegmentView`,该控件支持垂直布局,同时可以展示图像和文本,并且高度可定制,满足开发者对界面设计的各种需求。 首先,我们来理解一下`...

Global site tag (gtag.js) - Google Analytics