UI第四讲.事件处理(按钮点击切换视图,触摸事件)
一.按钮点击切换视图(例题)
练习一:定义三个视图控制器一个视图,指定一个为根视图控制器,其他两个作为其之类,同时view用于更换视图控制器的颜色.从而通过按钮点击实现视图全屏切换.
AppDelegate.m代理文件只负责实现对根视图控制器的替换
rootViewController.m文件1.完成初始化
rootViewController.m文件 2.在viewDidLoad中设置按钮及按钮点击事件(实现切换的关键步骤)
rootView.m文件 主要用于更换控制器原有视图
greenViewController.m作为子视图控制器
blueViewController.m作为子视图控制器(只设置背景色)
效果图:
二.事件的基本概念
UIEvent:事件,是由硬件捕捉的一个表示用户操作设备的对象。
分三类:触摸事件、晃动事件、远程控制事件
触摸事件:用户通过触摸设备屏幕操作对象、输入数据。支持多点 触摸,包含1个到多个触摸点
三、触摸事件
UIView支持触摸事件(因为继承于UIResponder),而且支持多点触摸。
需要定义UIView子类,实现触摸相关的方法。
touches..began、touches..moved、touches...ended、 touches..canceled。
四、响应者链
UIResponder。响应者类.
iOS中所有能响应事件(触摸、晃动、远程事件)的对象都是响应者。
系统定义了一个抽象的父类UIResponder来表示响应者。其子类都是响应者。
具体理解详见代码
例题二:添加一个视图按钮,使其实现触摸响应事件,触摸进行移动和随机变化颜色
Appdelegate.m文件 替换根视图控制器
chViewController.m文件 进行简单的初始化
aView.m文件替换自定义视图控制器视图的文件
bView.m文件 完成触摸点击事件(关键步骤)
效果图:(按钮可以随意点击拖拽,并在点击时变化颜色)
小结:学习知识一个不断积累的过程,随着学习的深入,对于某些知识认知也会不断加深,理解也会更深刻.所以不要急躁,静下心来去做就可以.这才是成长与进步!