• 3D Touch


    一、认识3D Touch
     
    1、硬件和操作系统要求
         iPhone 6s或者iPhone 6s Plus
         操作系统要求 ios9+
    2、3D Touch的交互效果
    • QuickAction
              操作:稍微用力按压应用icon按钮
              效果:跳出一系列的快捷选项。用户选择一个快捷选项后,将会启动或者加载应用。
               
     
    • Peek
      操作:轻度力量按压某个视图
      效果:此视图的周围内容会变得模糊,提示用户这个视图支持3D Touch



      操作:中度力量按压某个视图
      效果:跳出预览界面peek



       操作:手指保持在peek页面上,向上滑动
       效果:底部展示peek快速选项

        

    • Pop
              操作:在预览界面peek上重度力量按压
              效果:会完全跳转到peek所预览的那个界面
     
     
     
    二、3D Touch效果实现
     
    3D Touch共有1、QuickAction  2、peek 3、pop 4、peek快捷选项四种功能,下面就分别讲解这四种功能,每种功能的做法都区分了步骤,非常简单,简直就是傻瓜式操作。
     
    【1】QuickAction
    第一步 注册
    AppDelegate.m的
       - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     
    代码示例:
    *)localizedTitle;
    第二步:实现AppDelegate.m中的代理方法,按不同控件做不同操作:
    代码示例:
         
    【2】peek
    第一步:遵循 UIViewControllerPreviewingDelegate协议
     
    第二步:实现UIViewControllerPreviewingDelegate代理方法
    - (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
     
    1、创建预览VC
    2、创建预览内容View
    3、将预览内容View添加到预览VC上
    4、返回预览VC
     
    代码示例:
     
     
    【3】Pop
    第一步:遵循 UIViewControllerPreviewingDelegate协议
     
    第二步:实现实现UIViewControllerPreviewingDelegate代理方法
    - (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController*)viewControllerToCommit 
     
    这个代理方法可以自由定义任何功能,但一般的实现是直接跳转到peek所预览的页面上
     
    代码示例:
     
    【4】peek快速选项
    第一步:找到实现peek的代理方法所返回的ViewController类
    第二步:让peek的代理方法所返回的ViewController类遵循 UIPreviewActionItem协议
     
    第三步:实现UIPreviewActionItem的代理方法
    -(NSArray<id<UIPreviewActionItem>> *)previewActionItems
     
    这个代理方法要求返回一个UIPreviewAction数组,UIPreviewAction类中提供了两个创建UIPreviewAction实例的类方法,每个UIPreviewAction实例的点击业务都在block中实现。
     
    代码示例:
     
     
    二、3D Touch四种效果小Demo
  • 相关阅读:
    linux 统计文件行数的命令效率
    使用mysqldump导入不成功解决方法
    shell中获取当前目录
    shell读取文档中的命令并执行
    读取文件,文件内容包含空格Tab和回车提取想要的数据
    ls命令中的--time-style使用
    Vmware中网卡未启用,安装系统后再启用网卡,eth0如何设置
    lvm逻辑卷扩展方法
    linux小技巧 一
    解决ARCGIS10.2与VS2013不兼容
  • 原文地址:https://www.cnblogs.com/tufei7/p/5979614.html
Copyright © 2020-2023  润新知