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人!

?

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-01 14:58:07

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

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

iOS 9应用开发教程之ios9中实现button的响应 IOS9实现button的响应 button主要是实现用户交互的.即实现响应.button实现响应的方式能够依据加入button的不同分为两种:一种是编辑界面加入button实现的响应:还有一种是使用代码加入button实现的响应. 1.编辑界面加入button实现的响应 使用编辑界面加入button能够使用拖动的方式来实现button的响应,它也是最简单的一种实现响应的方式. [演示样例2-4]下面将实现轻拍button,改变主视图背景

iOS 9应用开发教程之ios9的视图

iOS 9应用开发教程之ios9的视图 了解IOS9的视图 在iPhone或者iPad中,用户看到的和摸到的都是视图.视图是用户界面的重要组成元素.本节将主要讲解ios9视图的添加.删除以及位置和大小的设置等内容. ios9视图库介绍 在视图库中存放了iOS开发中所需的所有视图.开发者可以在创建好iOS应用程序的项目以后,打开画布的设计界面,这时在工具窗口的下半个窗口中,单击Show the Object library图标,就会显示出视图库,如图1.46所示. 图1.46  视图库 在视图库中

iOS 9应用开发教程之iOS 9新特性

iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS 9的新特性.以及使用Xcode 7.0如何编写一个简单的iOS 9的应用程序等内容. iOS 9新特性 在2015年6月8日即北京时间2015年6月9日的WWDC大会上,苹果公司代表讲解了很多iOS 9带来的新特性.本节将讲解一些主要的特性. Siri语音助手智能化 Siri语音助手的智能性能主要

iOS 9应用开发教程之使用代码添加按钮美化按钮

iOS 9应用开发教程之使用代码添加按钮美化按钮 丰富的用户界面 在iOS9中提供了很多的控件以及视图来丰富用户界面,对于这些视图以及控件我们在上一章中做了简单的介绍.本章我们将详细讲解这些视图. ios9中使用按钮接收用户输入 按钮是iOS应用中最常使用也是最简单的控件,它常用来响应用户的点击事件,如图2.1所示.在图2.1中,蓝色的矩形就是一个按钮,它的标题为"登录".在iOS 7以后按钮只是一块普通的文本,没有轮廓,边框,背景颜色,或其他装饰功能(为了美观,很多的应用程序中的按钮

C#开发Unity游戏教程之Unity中方法的参数

C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别方法的作用吧.既然C#的语法规定方法就应该这么写,肯定是有一定道理的.如果是上升到战略意义的道理,连作者也不是很明白,但是作者知道这对括号里可以添加“参数”. Unity中参数的作用 要说明参数的作用,就必须从方法说起.方法可以处理变量中的数据,进而影响游戏对象的行为逻辑,这是本章前面一直在强调的.

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 WatchKit Extension,如图2.18所示.其中,Watch App部分位于用户的iWatch上,它目前为止只允许包含Storyboard文件和Resources文件.在我们的项目里,这一部分不包括任何代码.WatchKit Extension部分位于用户的iPhone安装的对应App上,这

Xamarin Anroid开发教程之Anroid开发工具及应用介绍

Xamarin Anroid开发教程之Anroid开发工具及应用介绍 Xamarin开发Anroid应用介绍 如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热.但是在Android平台下只能使用Java开发,iOS平台下也只能使用Objective-C或Swift开发.对于那些C#程序员却只能眼看着这些火热的平台流口水.在几年前只能重新学习一门新的语言,才可以进入这些智能手机开发行业.现在,我们有了Xamarin.C#程序员不需要了解其它语言,就可以开始编写Android

?Unity 2D游戏开发教程之2D游戏的运行效果

Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问,会在本节集中揭晓. (1)单击Unity上方,工具栏里的播放按钮,开始运行当前的游戏,默认精灵当前进入的是Idle动画状态,如图1-34所示. 图1-34  Idle状态 (2)当读者按下键盘上的左.右方向键,或者A.D键的时候,精灵会进入Walking动画状态,并且会向左或者向右移动,如图1-3

HealthKit开发教程之HealthKit的辅助数据

HealthKit开发教程之HealthKit的辅助数据 在HealthKit中除了主要数据之外,还有6个辅助数据分别为:体积类型数据.压力类型数据.时间类型数据.温度类型数据.标量类型数据和电导率类型数据.本节将针对这6个辅助数据进行讲解. HealthKit的体积类型数据 体积,或称容量.容积,几何学专业术语,是物件占有多少空间的量.体积单位可以用来测量物体的体积.由体积单位和值组成的数据就是体积类型的数据.体积单位可以分为:国际体积单位.英制体积单位和美制体积单位. 1.国际体积单位 体积