iOS 9应用开发教程之ios9中实现按钮的响应

iOS 9应用开发教程之ios9中实现按钮的响应

IOS9实现按钮的响应

按钮主要是实现用户交互的,即实现响应。按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应;另一种是使用代码添加按钮实现的响应。

1.编辑界面添加按钮实现的响应

使用编辑界面添加按钮可以使用拖动的方式来实现按钮的响应,它也是最简单的一种实现响应的方式。

【示例2-4】以下将实现轻拍按钮,改变主视图背景颜色的功能。具体的操作步骤如下:

1)创建一个Single View Application模板类型的项目,命名为UIButton-response

2)打开Main.storyboard文件,将主视图的尺寸设置为iPhone 4.7-inch。从视图库中拖动按钮控件到主视图中,将Title设置为Tap me,Change View Color

3)使用设置编辑器的三个视图方式的图标,将Xcode的界面调整为如图2.5所示的效果。这一过程在前面的章节中讲解过。


2.5  调整Xcode的界面

4)按住Ctrl键拖动界面中的按钮对象,这时会出现一个蓝色的线条,将这个蓝色的线条拖动到ViewController.swift文件的空白处中,如图2.6所示。


2.6  按住Ctrl键拖动界面中的按钮对象

5)松开鼠标后,会弹出声明关联插座变量一起进行的对话框(在前面章节中讲解过),如图2.7所示。


2.7  弹出声明关联插座变量一起进行的对话框

6)将Connection选项设置为Action,表示关联的是一个动作;将Name设置为tapButton,表示关联的动作名为tapButton,如图2.8所示。


2.8  填写对话框

注意:这里的Name可以是任意的。

7)单击Connect按钮,会在ViewController.swift文件中看到如图2.9所示的代码。


2.9  动作

此时,当用户轻拍按钮后,一个叫tapButton()的方法就会被触发。

注意:以上这一种方式是动作声明和关联一起进行的,还有一种先声明动作后关联的方式。声明动作可以使用关键字IBAction。该关键字可以告诉故事面板的界面,此方法是一个操作,且可以被某个控件触发。声明动作的语法形式如下:

  • @IBAction func 动作名(参数:参数类型){

  • }

如图2.10所示,就是在ViewController.swift文件中编写的动作的声明代码。


2.10  声明的动作

注意:在声明动作后,会在代码的前面出现一个空心的小圆圈,它表示此动作还未进行关联。

声明好动作后,就可以进行关联了,首先使用调整窗口中的工具,将Xcode的界面进行调整。将其调整为和图2.5一样的效果。

然后,按住Ctrl键拖动界面中的按钮对象,这时会出现一个蓝色的线条,将这个蓝色的线条和文件ViewController.swift中的动作进行关联,如图2.11所示。


2.11  关联动作

最后,松开鼠标后,按钮对象就与动作成功的关联在一起了,此时动作前面的空心小圆圈就变为了实心的小圆圈,它表示此动作已被关联,效果和图2.9一样。

8)打开ViewController.swift文件,编写代码,此代码将实现按钮的响应。代码如下:

  • import UIKit

  • class ViewController: UIViewController {

  •     var isYellow:Bool=false

  • @IBAction func tapButton(sender: AnyObject) {

  •     //判断主视图的背景是否为黄色

  •         if(isYellow){

  •             self.view.backgroundColor=UIColor.whiteColor()                                 //设置主视图的背景颜色

  •             isYellow=false

  •         }else{

  •             self.view.backgroundColor=UIColor.yellowColor()

  •             isYellow=true

  •         }

  •     }

  • ……

  • }

此时运行程序,首先会看到如图2.12的效果。当轻拍Tap me,Change View Color按钮后,主视图的背景变为黄色,如图2.13所示。当再一次轻拍Tap me,Change View Color按钮,主视图的背景颜色将会变回原来的白色。


2.12  运行效果                              2.13  运行效果

2.使用代码添加按钮实现的响应

使用代码添加的按钮,实现响应需要使用到addTarget(_:action:forControlEvents:)方法,其语法形式如下:

  • func addTarget(_ target: AnyObject?,

  •           action action: Selector,

  • forControlEvents controlEvents: UIControlEvents)

其中,参数说明如下:

  •   target:表示目标对象。它是动作消息的发送方。

  •   action:表示选择器,用来识别动作消息。它不可以为空。

  •   controlEvents:表示控件事件。在iOS中有19种控件事件,如表2-4所示。

2-4  控件事件


【示例2-5】以下将实现轻拍按钮,改变主视图背景颜色的功能。代码如下:

  • import UIKit

  • class ViewController: UIViewController {

  •     var isCyan:Bool=false

  •     override func viewDidLoad() {

  •         super.viewDidLoad()

  •         // Do any additional setup after loading the view, typically from a nib.

  •         //添加按钮对象

  •         let button=UIButton(frame: CGRectMake(90, 545, 225, 30))

  •         button.setTitle("Tap me,Change View Color", forState: UIControlState.Normal)  //设置按钮的标题

  •         button.setTitleColor (UIColor.blackColor(), forState: UIControlState.Normal)   //设置按钮标题的颜色

  •         self.view.addSubview(button)

  •         //实现按钮的响应

  •         button.addTarget(self, action: "tapbutton", forControlEvents: UIControlEvents.TouchUpInside)

  • }

  • func tapbutton(){

  • //判断主视图的背景颜色是否为青色

  •         if(isCyan){

  •             self.view.backgroundColor=UIColor.whiteColor()

  •             isCyan=false

  •         }else{

  •             self.view.backgroundColor=UIColor.cyanColor()

  •             isCyan=true

  •         }

  •     }

  • ……

  • }

此时运行程序,首先会看到如图2.14的效果。当轻拍Tap me,Change View Color按钮后,主视图的背景变为青色,如图2.15所示。当再一次轻拍Tap me,Change View Color按钮,主视图的背景颜色将会变回原来的白色。


2.14  运行效果                                 2.15  运行效果

本文选自:iOS 9应用开发基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值