IOS单视图UI笔记
来源:互联网 发布:厦门拓羽网络 编辑:程序博客网 时间:2024/05/22 12:59
UIView
UIWindow需要在app启动的时候进行家在,window 的尺寸要与屏幕大小一致。
frame相对于父视图坐标系,bounds相当于自身的坐标系
UIView的层次关系
UIView的层次关系可以用属性结构来表述,每个view室一个结点。
一个UIView只有一个superview (UIView *)superview
一个UIView可以有0个或者多个subview (NSArray *)subviews
subview总是卫浴superview智商的,因为subview越晚加入的显示在越上层。每个view都有一个tag属性,我们可以通过它来快速定位此子试图。
(UIView *)viewWithTag:(NSInteger)tag
ui单视图程序文件结构及执行顺序
main.m是程序的入口
UIApplication()创建应用程序对象。
UIApplicationDelegate是一个协议,定义了一堆监测程序执行的方法,这些方法都有自己的触发条件。大致分为几类:程序启动、
活跃/非活跃状态、前后胎切换、推送通知、内存警告等。
UIViewController通常我们不会在window上添加试图,而是制定一个viewController作为根视图控制器。
UIViewController
概念:视图控制器。
每个视图控制器都自带一个视图,并且负责这个视图相关的一切事务,负责Model与View的通信,监测设备旋转以及内存警告,是所有
视图控制器类的基类,定义了控制器的基本功能。
事件、触摸事件、响应者
UIEvent:事件,由硬件补货到的一个表示用户操作设备的对象。
事件分为三类:触摸事件、晃动事件、远程控制事件。
UIResponder:响应者,是可以响应事件并且可以对其进行处理的对象,是响应者的基类。
第一响应者是当前正在接受事件的响应者对象。
UITouch:收汁,表示触摸中的一个手指。
UIView支持触摸事件,而且支持多点触摸。
需要定义UIView的子类。
触碰检测(Hit-Test)
通过触碰检测找出Touch发生在哪个视图上,递归检测所有子视图,定位准确位置。
响应者链
有一个一个的响应者组成的长链,定义了ios中触摸事件的交互规则,如果hit-test检测出的view没有响应时间,时间就会沿着响应者链
往下传递,如果连中某个响应者响应了事件或者已经没有响应者了,传递就会结束。
调整事件传递
关闭事件的传递:userInteractionEnabled属性设置为NO,此属性是UIView的,所有子类都能设置。当视图hidden属性为YES或者
alpha为0时,视图也不接受事件。
在一定时间内关闭事件传递:应用程序调用UIApplication的beginIgnoringInteractionEvents和endIgnoringInteractionEvents
绘图
touchesBegan创建数组,用于保存移动过程中经过的点。
touchesMove找到手指所在过程,加入到数组中,根据数组绘制界面
需要使用数组嵌套数组
内存个数组放每一笔包含到点,外层数组放各个小数组
步骤:
需要定义UIView的子类。
实现touchesbegan,touchesmove等方法,记录手指坐标,重写drawRect:方法
UIImageView
UISlider:我们通常使用valueChanged这种eventType来控制交互事件,有三个属性:最大值、最小值、值。
在写程序的时候因为要在slider的changevalue中改变图像的动画速度,所以要将之前生命的额imageview实例对象变为全局变量,所
已直接在viewcontroller.h中声明 _imageview,全局变量带下划线。
手势
对触摸的再次封装
手势的概念:有规律的触摸,UIGestureRecognizer代表ios中的手势类,是一个抽象类,他有多个子类,每个子类代表着具体的手势。
1、轻拍,单击,双击,多指点击 UITapGestureRecognizer
2、长按 UILongPressGestureRecognizer
3、轻扫,分上下左右四个方向 UISwipeGestureRecognizer
4、旋转 UIRotationGestureRecognizer
5、捏合,放大缩小 UIPinchGestureRecognizer
6、拖拽,移动位置 UIPanGestureRecognizer
UIWindow需要在app启动的时候进行家在,window 的尺寸要与屏幕大小一致。
frame相对于父视图坐标系,bounds相当于自身的坐标系
UIView的层次关系
UIView的层次关系可以用属性结构来表述,每个view室一个结点。
一个UIView只有一个superview (UIView *)superview
一个UIView可以有0个或者多个subview (NSArray *)subviews
subview总是卫浴superview智商的,因为subview越晚加入的显示在越上层。每个view都有一个tag属性,我们可以通过它来快速定位此子试图。
(UIView *)viewWithTag:(NSInteger)tag
ui单视图程序文件结构及执行顺序
main.m是程序的入口
UIApplication()创建应用程序对象。
UIApplicationDelegate是一个协议,定义了一堆监测程序执行的方法,这些方法都有自己的触发条件。大致分为几类:程序启动、
活跃/非活跃状态、前后胎切换、推送通知、内存警告等。
UIViewController通常我们不会在window上添加试图,而是制定一个viewController作为根视图控制器。
UIViewController
概念:视图控制器。
每个视图控制器都自带一个视图,并且负责这个视图相关的一切事务,负责Model与View的通信,监测设备旋转以及内存警告,是所有
视图控制器类的基类,定义了控制器的基本功能。
事件、触摸事件、响应者
UIEvent:事件,由硬件补货到的一个表示用户操作设备的对象。
事件分为三类:触摸事件、晃动事件、远程控制事件。
UIResponder:响应者,是可以响应事件并且可以对其进行处理的对象,是响应者的基类。
第一响应者是当前正在接受事件的响应者对象。
UITouch:收汁,表示触摸中的一个手指。
UIView支持触摸事件,而且支持多点触摸。
需要定义UIView的子类。
触碰检测(Hit-Test)
通过触碰检测找出Touch发生在哪个视图上,递归检测所有子视图,定位准确位置。
响应者链
有一个一个的响应者组成的长链,定义了ios中触摸事件的交互规则,如果hit-test检测出的view没有响应时间,时间就会沿着响应者链
往下传递,如果连中某个响应者响应了事件或者已经没有响应者了,传递就会结束。
调整事件传递
关闭事件的传递:userInteractionEnabled属性设置为NO,此属性是UIView的,所有子类都能设置。当视图hidden属性为YES或者
alpha为0时,视图也不接受事件。
在一定时间内关闭事件传递:应用程序调用UIApplication的beginIgnoringInteractionEvents和endIgnoringInteractionEvents
绘图
touchesBegan创建数组,用于保存移动过程中经过的点。
touchesMove找到手指所在过程,加入到数组中,根据数组绘制界面
需要使用数组嵌套数组
内存个数组放每一笔包含到点,外层数组放各个小数组
步骤:
需要定义UIView的子类。
实现touchesbegan,touchesmove等方法,记录手指坐标,重写drawRect:方法
UIImageView
UISlider:我们通常使用valueChanged这种eventType来控制交互事件,有三个属性:最大值、最小值、值。
在写程序的时候因为要在slider的changevalue中改变图像的动画速度,所以要将之前生命的额imageview实例对象变为全局变量,所
已直接在viewcontroller.h中声明 _imageview,全局变量带下划线。
手势
对触摸的再次封装
手势的概念:有规律的触摸,UIGestureRecognizer代表ios中的手势类,是一个抽象类,他有多个子类,每个子类代表着具体的手势。
1、轻拍,单击,双击,多指点击 UITapGestureRecognizer
2、长按 UILongPressGestureRecognizer
3、轻扫,分上下左右四个方向 UISwipeGestureRecognizer
4、旋转 UIRotationGestureRecognizer
5、捏合,放大缩小 UIPinchGestureRecognizer
6、拖拽,移动位置 UIPanGestureRecognizer
0 0
- IOS单视图UI笔记
- ios开发UI单视图控制器
- ios开发UI单视图控制器 [下]
- iOS UI 视图
- UI单视图控制器-UIView
- ios学习笔记之UI篇(五):切换视图
- ios学习笔记之UI篇(六):多视图应用程序
- IOS之UI 视图(笔记)
- IOS--UI--单例
- iOS开发系列----UI(视图编程入门:Delegate、Block、单例、属性传值)
- 【ios 汇总 - UI 视图布局 】
- IOS--UI--LessonCustumView 自定义视图
- IOS-UI-视图控件UIview
- IOS视图之UI基础
- iOS开发 UI 自定义视图
- UI单视图控制器基本控件(上)
- UI笔记_自定义视图
- UI笔记_UIScrollView滚动视图
- MFC文档(SDI)应用:绘图程序(画圆、画线、鼠标事件)
- Android 打电话程序
- Android:控件WebView显示网页
- 欢迎使用CSDN-markdown编辑器
- POJ 2553 —— The Bottom of a Graph
- IOS单视图UI笔记
- Android中一个Activity第二次启动时,onCreate()调用setContentView()方法时出错,程序崩溃
- linux命令复制指定文件或者指定目录下的全部文件到另一个目录中
- Java中停止线程执行的方法
- spring框架在开发中为我们做了哪些事?
- Android 发送短信
- 初次接触Xabber
- 高光谱遥感图像处理(6)-----ENVI矢量做ROI 用来裁剪、掩膜
- 关于C中内存存储的理解