zoukankan      html  css  js  c++  java
  • iOS 9应用开发教程之ios9中实现button的响应

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

    IOS9实现button的响应

    button主要是实现用户交互的。即实现响应。button实现响应的方式能够依据加入button的不同分为两种:一种是编辑界面加入button实现的响应;还有一种是使用代码加入button实现的响应。

    1.编辑界面加入button实现的响应

    使用编辑界面加入button能够使用拖动的方式来实现button的响应,它也是最简单的一种实现响应的方式。

    【演示样例2-4】下面将实现轻拍button,改变主视图背景颜色的功能。详细的操作过程例如以下:

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

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

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


    2.5  调整Xcode的界面

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


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

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


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

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


    2.8  填写对话框

    注意:这里的Name能够是随意的。

    7)单击Connectbutton。会在ViewController.swift文件里看到如图2.9所看到的的代码。


    2.9  动作

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

    注意:以上这一种方式是动作声明和关联一起进行的,另一种先声明动作后关联的方式。

    声明动作能够使用keywordIBAction

    该keyword能够告诉故事面板的界面,此方法是一个操作,且能够被某个控件触发。声明动作的语法形式例如以下:

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

    • }

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


    2.10  声明的动作

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

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

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


    2.11  关联动作

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

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

    • 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 Colorbutton后,主视图的背景变为黄色,如图2.13所看到的。当再一次轻拍Tap me,Change View Colorbutton。主视图的背景颜色将会变回原来的白色。


    2.12  执行效果                              2.13  执行效果

    2.使用代码加入button实现的响应

    使用代码加入的button,实现响应须要使用到addTarget(_:action:forControlEvents:)方法,其语法形式例如以下:

    • func addTarget(_ target: AnyObject?,

    •           action action: Selector,

    • forControlEvents controlEvents: UIControlEvents)

    当中。參数说明例如以下:

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

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

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

    2-4  控件事件


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

    • 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.

    •         //加入button对象

    •         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的响应

    •         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 Colorbutton后。主视图的背景变为青色,如图2.15所看到的。当再一次轻拍Tap me,Change View Colorbutton,主视图的背景颜色将会变回原来的白色。


    2.14  执行效果                                 2.15  执行效果

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

  • 相关阅读:
    linux命令-定时任务at
    linux网络监控_网速测试
    Linux磁盘分区扩容
    Ubuntu配置SSH服务
    Ubuntu用户管理
    Ubuntu安装lrzsz
    Ubuntu系统配置apt-get软件更新源
    Ubuntu网络配置IP和DNS等,适用于14.04,16.04,17.10和18.04
    Ubuntu系统安装,适用于14.04,16.04和17.10
    使用nginx反向代理处理前后端跨域访问
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7256854.html
Copyright © 2011-2022 走看看