UI基础:target...action设计模式,手势识别器.UIimageview
使用target..action和delegate设计模式可以实现解耦.使代码更加优化.
手势识别器:
手势识别器:是对触摸事件做了封装,无需自己去判断某个手势是否触发,手势识别器本身起到了识别作用,所在我们可以把重心放在识别之后该去做什么操作上面.很方便.
手势识别器是iOS中比较抽象的一个类,用于识别一个手势,所谓的手势:有规律的触摸.
手势识别器有7个子类:
分别是:轻怕手势,轻移手势,清扫手势,缩放手势,旋转手势,长按手势,以及屏幕边缘平移手势.
一旦指定的手势别识别了,就可以执行自定义好的操作了.
UITapGestureRecognizer是轻拍⼿手势识别器,能识别轻拍操作
UILongPressGestureRecognizer是⻓长按⼿手势识别器,能识别⻓长按操作。
UIRotationGestureRecognizer是旋转⼿手势识别器,能识别旋转操作。
UIPinchGestureRecognizer是捏合⼿手势识别器,能识别捏合操作。
UIPanGestureRecognizer是平移⼿手势识别器,能识别拖拽操作。
UISwipeGestureRecognizer是轻扫⼿手势识别器,能识别拖拽操作。
UIScreenEdgePanGestureRecognizer是屏幕边缘轻扫识别器,是iOS7中新增的⼿手势。
如何使用识别器:
我们不会直接使用手势识别器这个抽象父类,而是根据需要使用特定的手势识别器创建对象.
1.创建UIXXXGestureRecognizer对象,使用initWithTarget:action:方法
2.配置要识别的手势的相关信息
3.将手势添加到某个视图上
4.实现手势识别器里定义的方法
view 的transform 属性
transform 是 view的一个重要属性.它在矩阵层面上改变view的显示状态.能实现view的缩放.旋转.平移等等功能.
UI基础:target...action设计模式,手势识别器.UIimageview的更多相关文章
- UI 设计模式 手势识别器
1> target / action 设计模式 : target ['tɑːgɪt] 1>什么是耦合 : 耦合是衡量一个程序呢写的好坏的标准之一 耦合是衡量模块与模块之间关 ...
- UI:target-action设计模式、手势识别器
⼀.target/action设计模式 ⼆.代理设计模式 三.UIImageView 四.⼿势识别器 target/action设计模式 耦合是衡量⼀个程序写的好坏的标准之⼀, 耦合是衡量模块与模块之 ...
- iOS开发——UI基础-UIButton、UIImageView、UILabel的选择
1.UILabel - UILabel的常见属性 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) ...
- iOS开发UI高级手势识别器
####手势识别器 UIGestureRecognizer类 ·UITapGestureRecognizer(轻击) ·UIPinchGestureRecognizer(捏合) ·UIPanGestu ...
- [iOS UI进阶 - 3.2] 手势识别器UIGestureRecognizer
A.系统提供的手势识别器 1.敲击手势 UITapGestureRecognizer numberOfTapsRequired: 敲击次数 numberOfTouchesRequired: 同时敲 ...
- iOS的触摸事件的用法以及和手势识别器的区别
1.首先来介绍下触摸事件和手势识别器的利与弊 触摸事件和手势识别器二者之间有直接的关系 手势识别器是在触摸事件的基础上演变过来的 当我们用到触摸事件时 默认的uiview是没有什么效果的 只能自定义v ...
- iOS常用手势识别器
手势识别状态: typedef NS_ENUM(NSInteger, UIGestureRecognizerState) { // 没有触摸事件发生,所有手势识别的默认状态 UIGestureReco ...
- iOS 七大手势之轻拍,长按,旋转手势识别器方法
一.监听触摸事件的做法 如果想监听一个view上面的触摸事件,之前的做法通常是:先自定义一个view,然后再实现view的touches方法,在方法内部实现具体处理代码 通过touches方法监听 ...
- 【学习总结】UIGestureRecognizer(手势识别器)
基本知识点 : -> IOS 3.2之后 , 苹果推出了手势识别功能 ( Gesture Recognizer ) 在触摸事件处理方面 , 简化开发难度. -> UIGesture Rec ...
随机推荐
- asp.net <asp:Repeater>下的 asp:LinkButton CommandArgument点击事件
前台 <asp:Repeater ID="rptData" runat="server" OnItemCommand="rptData_Item ...
- vue-echarts的使用及编译报错解决方法
一. 使用 vue-cli 快速构建vue项目, 引入vue-echarts组件 安装: > npm i vue-echarts --save 修改 webpack.config.js 配置: ...
- DataTable转化成实体对象
/// <summary> /// The data extension. /// </summary> public static class DataExtension { ...
- JavaMail直接发送邮件
一般用JavaMail发送邮件都需要先登录到外部smtp服务器(如smtp.163.com) 二次转发,其实只要得到域名的邮件交换服务器地址(MX)就可以直接将邮件发出 这里用到了dnsjava(下载 ...
- VSAN Cluster Failed
failed message:AdVanced vSAN configuration in syncChecks if all of the hosts in a vSAN cluster have ...
- 安装gcc4.8.5
安装gcc4.8.51. g++ --version, 4.4.7不支持c++112. 升级gcc-c++, 下载gcc https://gcc.gnu.org/ 官网,镜像下载地址https: ...
- 算法笔记--STL中的各种遍历及查找(待增)
算法笔记 map: map<string,int> m; map<string,int>::iterator it;//auto it it = m.begin(); whil ...
- Python map/reduce
2017-07-31 18:20:59 一.map函数 map():会根据提供的函数对指定序列做映射.第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 ...
- English trip WeekEnd-Lesson 2018.11.10
本周末上了三节课,做个小结吧\(^o^)/~: [102] 新概念一早读 - 27 - 28 Teacher: March Mrs. Smith's living room is lar ...
- python 在 Windows Server 2008 r2 上 安装失败
Microsoft Visual C++ 2008 Redistributable Package link (x86): https://www.microsoft.com/en-us/downlo ...