热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS9应用开发教程之ios9中实现button的响应相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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 Color
button。主视图的背景颜色将会变回原来的白色。


技术分享


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 Color
button,主视图的背景颜色将会变回原来的白色。


技术分享


2.14  执行效果                                 2.15  执行效果


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


?














推荐阅读
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
author-avatar
季孙意如
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有