zoukankan      html  css  js  c++  java
  • iOS 3DTouch应用

    概述

    iOS10系统登录中国,在系统中对3D Touch的使用需求更频繁,所以对iOS9中便引入的3D Touch功能做一些了解是很有必要的

    在日常开发中,我们经常需要使用3D Touch中的两个功能

    1. 在主屏幕上对应用图标使用3DTouch操作

    2. 在应用程序内对某一控件使用3DTouch操作

    ShortcutItem

    概述

    ShortcutItem功能允许用户在主屏幕上对应用图标使用3DTouch操作,如果本次操作有效,则会给出几个快捷可选项允许用户进行操作

    静态添加

    在info.plist中添加UIApplicationShortcutItems关键字,以如下方式配置即可

    1598380-5e81589b26316d66.png.jpeg

    其中各个关键字释义如下:

    UIApplicationShortcutItemType: 快捷可选项的特定字符串(必填)
    UIApplicationShortcutItemTitle: 快捷可选项的标题(必填)
    UIApplicationShortcutItemSubtitle: 快捷可选项的子标题(可选)
    UIApplicationShortcutItemIconType: 快捷可选项的图标(可选)
    UIApplicationShortcutItemIconFile: 快捷可选项的自定义图标(可选)
    UIApplicationShortcutItemUserInfo: 快捷可选项的附加信息(可选)

    触发回调

    当用户通过点击快捷可选项进入应用程序会回调如下方法,我们可以在这里通过快捷可选项的type来加以区分,以便进行不同的操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    - (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
    {
       if ([shortcutItem.type isEqualToString:@"com.liupeng.search"])
       {
           // do something ...
       }
       else if ([shortcutItem.type isEqualToString:@"com.liupeng.play"])
       {
           // do something ...
       }
       // ...
    }

    注意

    在动态添加快捷可选项前,需要用判断是否支持3D Touch功能,以免在不支持的设备上运行程序导致闪退

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if ([self respondsToSelector:@selector(traitCollection)])
    {
       if ([self.traitCollection respondsToSelector:@selector(forceTouchCapability)])
       {
           if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)
           {
               // 支持3D Touch
           }
           else
           {
               // 不支持3D Touch
           }
       }
    }

    注: 在支持3D Touch的设备上,用户可以在程序运行期间通过设置 -> 通用 -> 辅助功能 -> 3D Touch来关闭3D Touch功能,所以我们有必要通过重写-traitCollectionDidChange:方法随时处理

    Peek & Pop

    概述

    Peek和Pop是应用内的一种全新交互模式,当用户不断增加力量在控件上按压,会依次进入四个阶段

    http://www.cocoachina.com/ios/20161114/18071.html

  • 相关阅读:
    深入探讨 Python 的 import 机制:实现远程导入模块
    PEP8中文版 -- Python编码风格指南
    【转】python---方法解析顺序MRO(Method Resolution Order)<以及解决类中super方法>
    【转】Python3中遇到UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)
    Python字典的json格式化处理(换行与不换行)
    最详细的CentOS 6与7对比(三):性能测试对比
    最详细的CentOS 6与7对比(二):服务管理对比
    WEBAPI 自动生成帮助文档
    MEF IOC使用
    MVC分页示例
  • 原文地址:https://www.cnblogs.com/dengchaojie/p/7997711.html
Copyright © 2011-2022 走看看