3DTouch


UITouch类里API的变化

iOS9中添加的属性

altitudeAngle

  • 当笔平行于平面时,该值为0

  • 当笔垂直于平面时,该值为Pi / 2

estimatedProperties

  • 当前触摸对象估计的触摸特性

  • 返回值是UITouchPropertyies

updatedProperties

  • 当前触摸对象已经更新的触摸特性

  • 返回值是UITouchPropertyies

estimationUpdateIndex

  • 当每个触摸对象的触摸特性发生变化时,该值将会单独增加

  • 返回值是NSNumber

iOS9中添加的方法

  • PreciseLocationInView:
  • 当前触摸对象的坐标
  • PrecisePreviousLocationInView:
  • 当前触摸对象的前置坐标
  • azimuthAngleInview:
  • 沿着x轴正向的方位角

  • 当与x轴正向方向相同时,该值为0

  • 当view参数为nil时,默认为keyWindow

  • azimuthUnitVectorInView:
  • 当前触摸对象的方向上的单位向量

  • 当view参数为nil时,默认为keyWindow

UIForceTouchCapability

UIForceTouchCapabilityUnknown

  • 不能确定是否支持压力感应

UIForceTouchCapabilityUnavailable

  • 不能支持压力感应

UIForceTouchCapabilityAvailable

  • 可以支持压力感应

UITouchType

UITouchTypeDirect

  • 垂直的触摸类型

UITouchTypeIndirect

  • 非初值的触摸类型

UITouchTypeStylus

  • 水平的触摸类型

UITouchProperties

UITouchPropertyForce


ShortcutItem


静态方式

  • 打开Info.plist文件
  • 在对应UIApplicationShortcutItems关键字下添加item

动态方式

修改当前应用程序的某个shortcutItem

  //获取第0个shortcutItem  id oldItem = [existingShortcutItems objectAtIndex: 0];  //将旧的shortcutItem改变为可修改类型shortcutItem  id mutableItem = [oldItem mutableCopy];  //修改shortcutItem的显示标题  [mutableItem setLocalizedTitle: @"Click Lewis"];

获取当前应用程序的shortcutItems

  //获取当前应用程序对象  UIApplication *app = [UIApplication sharedApplication];  //获取一个应用程序对象的shortcutItem列表  id existingShortcutItems = [app shortcutItems];

重置当前应用程序的shortcutItems

  //根据旧的shortcutItems生成可变shortcutItems数组  id updatedShortcutItems = [existingShortcutItems mutableCopy];  //修改可变shortcutItems数组中对应index下的元素为新的shortcutItem  [updatedShortcutItems replaceObjectAtIndex: 0 withObject: mutableItem];  //修改应用程序对象的shortcutItems为新的数组  [app setShortcutItems: updatedShortcutItems];

创建一个新的UIApplicationShortcutItem

  • 初始化函数

    • -initWithType:localizedTitle:localizedSubtitle:icon:userInfo:
    • -initWithType:localizedTitle:
  • 属性

    • localizedTitle:NSString
    • -localizedSubtitle:NSString
    • -type:NSString
    • -icon:UIApplicationShortcutIcon
    • -userInfo:NSDictionary
    • 只有只读特性,想要进行修改时,需要通过mutableCopy方法转变为
      NSMutableApplicationShortcutItem

创建一个新的Item图标

  • 初始化函数

    • +iconWithType:
    • +iconWithTemplateImageName:
    • +iconWithContact:

当程序启动时

  • 判断launchOptions字典内的UIApplicationLaunchOptionsShortcutItemKey是否为空
  • 当不为空时,application:didFinishLaunchWithOptions方法返回false,否则返回true
  • 在application:performActionForShortcutItem:completionHandler方法内处理点击事件

Peek and Pop


注册预览功能的代理对象和源视图

代理对象需要接受UIViewControllerPreviewingDelegate协议

  @interface RootVC<UIViewControllerPreviewingDelegate>  {}  @end

代理对象实现协议内的Peek和Pop方法

  @implementation RootVC  - (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)context viewControllerForLocation:(CGPoint) point  {  UIViewController *childVC = [[UIViewController alloc] init];  childVC.preferredContentSize = CGSizeMake(0.0f,300f);  CGRect rect = CGRectMake(10, point.y - 10, self.view.frame.size.width - 20,20);  context.sourceRect = rect;  return childVC;  }  - (void)previewContext:(id<UIViewControllerPreviewing>)context commitViewController:(UIViewController*)vc  {  [self showViewController:vc sender:self];  }  @end

注册方法声明在UIViewController类内

[self registerForPreviewingWithDelegate:self sourceView:self.view];

转载地址:http://www.jianshu.com/p/74fe6cbc542b

iOS9 3DTouch、ShortcutItem、Peek And Pop技术一览相关推荐

  1. iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程

    iOS9 3D Touch 标签菜单 peek and pop  force 压力触控 功能开发高级版教程 github地址: https://github.com/wyk125/3DTouchDem ...

  2. iOS9 3DTouch开发 知识点详解

    本篇文章介绍3D Touch功能, 大体介绍一下: 下篇为大家提供一个3DTouch的简单Demo 增强版的Force Touch(压力触控)技术,Force Touch之前被应用在于Apple Wa ...

  3. 《Spark大数据分析:核心概念、技术及实践》大数据技术一览

    本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章 ...

  4. 【知识图谱】知识图谱构建技术一览

    [知识图谱]知识图谱构建技术一览 一.什么是知识图谱 二.知识图谱的分层架构 三.知识图谱构架技术 (一)数据获取(Data Acquisition) (二)信息抽取(Information Extr ...

  5. 知识图谱构建技术一览 #CSDN博文精选# #高效学习法# #系统化学习# #IT技术学习#

    大家好~我是小C,又见面啦!"文章过滤器"精选大咖干货.助力学习之路. <5天20篇CSDN精选博文带你掌握系统化学习方法>专栏将挑选有关"系统化学习方法&q ...

  6. Stack:peek、pop、push、search

    Java Stack 类 栈是Vector的一个子类,它实现了一个标准的后进先出的栈. 堆栈只定义了默认构造函数,用来创建一个空栈. 堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法. ...

  7. 栈中的peek()、pop()和push()、Add()方法

    1. peek() :返回栈顶元素,不在堆栈中删除它. pop() :返回栈顶元素,并在进程中删除它. push():在栈顶增加元素 2.Java栈中add()和push()的不同之处 在日常使用中发 ...

  8. peek和pop的区别

    相同点: 都可以取出栈顶的值 不同点: peek 不会改变栈的值(不删除栈顶的值) pop会把栈顶的值删除. 看完如果对你有帮助,感谢点赞支持! 如果你是电脑端,看到右下角的 "一键三连&q ...

  9. windows server 2008虚拟化技术一览

    版本:Windows Server 2008 RC1 Enterprise 代号"Viridian"的"Hyper-V" 下载地址:Windows Server ...

最新文章

  1. C/C++ 混合编程
  2. xcode6 AsynchronousTesting 异步任务测试
  3. HDOJ 1082 模拟 水
  4. 手写Python中列表和字符串的反转
  5. CPU和微架构的概念
  6. jst获取不到springmvc中model数据
  7. LeetCode 705 Design HashSet 解题报告
  8. 计算机操作员实操高级试题,计算机操作员高级实操(以往考过,可做平时练习素材)答题.doc...
  9. java socket 对方关闭_java Socket判断对方是否已关闭连接
  10. JAVA进阶教学之(String类的构造方法)
  11. IDEA打开clone的项目编译时出现java: 程序包org.springframework.boot不存在。
  12. VS 2022 SVN 插件
  13. 可以免费文字识别app有哪些?有这3款app就能够实现提取文字自由
  14. coco2d-x学习第一章 codo2d-x 2.2.3+vs2010环境搭建和新建项目
  15. Mac Catalina系统关闭/打开开机duang音效
  16. Python一键更换证件照背景色
  17. PHPSTUDY端口被占用解决方法
  18. ISP算法介绍--------super Good
  19. DD-WRT 的优点
  20. 杰理之蓝牙连接成功自动播放【篇】

热门文章

  1. 鲍春健:从“走进客户”奔向“成为客户”
  2. 蓝桥杯JAVA数列求和
  3. 思维导图怎么画?新手5分钟教程分享
  4. 为什么最大的品牌信任Beaver Builder - 我应该选择哪个WordPress页面构建器
  5. 升级Android8.0系统原来APP图标变为小机器人的问题
  6. 华为机考,华为笔试,软件类,2020年8月19日题目,超详细解答。
  7. 递归实现对多层嵌套的对象数组依照某属性进行排序
  8. 蓄水池采样算法的python实现_蓄水池抽样算法(Reservoir Sampling)
  9. 简显易懂的TCP网络通信零起步(java网络画板,山寨腾讯会议)
  10. aspx创建控件时出错,服务器标记的格式不正确