iOS9系列专题一——3D Touch(一)

简介: iOS9系列专题一——3D Touch

新的触摸体验——iOS9的3D Touch


一、引言


       在iphone6s问世之后,很多果粉都争先要体验3D Touch给用户带来的额外维度上的交互,这个设计之所以叫做3D Touch,其原理上是增加了一个压力的感触,通过区分轻按和重按来进行不同的用户交互。


二、在模拟器上学习和测试3D Touch


       3D Touch是一个很新颖的设计,可是苹果文档有言:



With Xcode 7.0 you must develop on a device that supports 3D Touch. Simulator in Xcode 7.0 does not support 3D Touch.


看到这句话心是不是凉了一半,是的,xcode7是支持3D Touch开发的,可是模拟器并不支持这个手势,我们只能在真机上进行学习与测试,但是在IT的世界,从来都不缺拯救世界的人物,github上有人为我们提供了这样的一个插件,可以让我们在模拟器上进行3D Touch的效果测试:


git地址:https://github.com/DeskConnect/SBShortcutMenuSimulator


附.SBShortcutMenuSimulator的安装和使用


       其实安装和使用并不需要怎么介绍,git主页里介绍的很清楚,这里在记录一遍,其中只有一点需要注意,如果你像我一样,电脑中装有Xcode6和Xcode7两个版本,那个Xcode的编译路径,需要做一下修改。


安装:


在终端中一次运行如下指令:


git clone https://github.com/DeskConnect/SBShortcutMenuSimulator.git

cd SBShortcutMenuSimulator

make

如果电脑中有多个Xcode版本,先做如下操作,如果只有Xcode7,则可以跳过


sudo xcode-select -switch /Applications/Xcode2.app/Contents/Developer/

注意:上面命令中,Xcode2.app是你电脑中Xcode的名字,这里如要特别注意,如果名字中有空格,需要修改一下,把空格去掉,否则会影响命令的执行。


之后在SBShortcutMenuSimulator的目录中执行如下操作:


xcrun simctl spawn booted launchctl debug system/com.apple.SpringBoard --environment DYLD_INSERT_LIBRARIES=$PWD/SBShortcutMenuSimulator.dylib

xcrun simctl spawn booted launchctl stop com.apple.SpringBoard

如果没有报错,我们可以通过向指定端口发送消息的方法来在模拟器上模拟3D Touch的效果:


echo 'com.apple.mobilecal' | nc 127.0.0.1 8000

其中,com.apple.mobilecal是应用的Bundle ID ,如果要测试我们的应用,将其改为我们应用的BundleID即可,上面的示例应用是系统日历,可以看到模拟器的效果如下:


image.png


三、3D Touch的主要应用


       文档给出的应用介绍主要有两块:



1.A user can now press your Home screen icon to immediately access functionality provided by your app.


2.Within your app, a user can now press views to see previews of additional content and gain accelerated access to features.


       第一部分的应用是我们可以通过3D手势,在主屏幕上的应用Icon处,直接进入应用的响应功能模块。这个功能就例如我们上面的日历示例,会在Icon旁边出现一个菜单,点击菜单我们可以进入相应的功能单元。


       我个人理解,这个功能,push消息功能加上iOS8推出的扩展today功能,这三个机制使iOS应用变得无比灵活方便,用户可以不需付出寻找的时间成本来快速使用自己需要的功能。


       第二部分是对app的一个优化,用户可以通过3D Touch手势在view上来预览一些预加载信息,这样的设计可以使app更加简洁大方,交互性也更强。


四、3D Touch的三大模块


       在我们的app中使用3D Touch功能,主要分为以下三个模块:


1、Home Screen Quick Actions


       通过主屏幕的应用Icon,我们可以用3D Touch呼出一个菜单,进行快速定位应用功能模块相关功能的开发。如上面的日历。


2、peek and pop


       这个功能是一套全新的用户交互机制,在使用3D Touch时,ViewController中会有如下三个交互阶段:


       (1)提示用户这里有3D Touch的交互,会使交互控件周围模糊

image.png



       (2)继续深按,会出现预览视图


image.png


       (3)通过视图上的交互控件进行进一步交互


image.png


这个模块的设计可以在网址连接上进行网页的预览交互。


3.Force Properties


       iOS9为我们提供了一个新的交互参数:力度。我们可以检测某一交互的力度值,来做相应的交互处理。例如,我们可以通过力度来控制快进的快慢,音量增加的快慢等。

目录
相关文章
|
API
iOS9系列专题一——3D Touch(二)
iOS9系列专题一——3D Touch
227 0
iOS9系列专题一——3D Touch(二)
|
vr&ar iOS开发
【Xamarin.iOS】使用UrhoSharp将3D模型带入增强现实生活
UrhoSharp将3D引入各种平台,并使用其自己的二进制mdl格式的模型文件。 3D模型有很多来源,包括cgtrader和TurboSquid,以及FBX,OBJ,DAE和BLEND等格式。
1841 0
|
iOS开发
iOS开发--3D Touch的基本使用
1.桌面快捷菜单项 效果如图: 1.桌面快捷菜单项 效果如图: 1.桌面快捷菜单项 效果如图: 桌面快捷菜单 点击之后的效果如图: 点击桌面快捷菜单的效果 接下来看下具体实现:1).在-application:didFinishLaunchingWithOptions:方法中用-setShortcutItems:方法来添加快捷菜单项。
|
iOS开发
iOS - 3DTouch 3D 触摸
1、3DTouch 简介 3DTouch 是 iOS9 + 系统下,在 iPhone6s(iPhone6s Plus)+ 手机上才能够使用的功能。 1.1 3DTouch 基本类型 1、主屏幕快速选项(Home Screen Quick Action) 通过主屏幕的应用图标,通过 3D 手势呼出一个菜单,在主屏幕上的应用 Icon 处,直接进入应用的相应功能模块。
949 0
|
安全 API iOS开发
iOS 新特性分列式 之 iOS 9.x - 主要内容:苹果笔 API 引入、3D Touch、iPad 多任务加强、应用瘦身、应用传输安全、Swift 加强
iOS 新特性分列式 之 iOS 9.x - 主要内容:苹果笔 API 引入、3D Touch、iPad 多任务加强、应用瘦身、应用传输安全、Swift 加强 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1233 0
|
1月前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
102 1
|
1月前
|
设计模式 安全 Swift
探索iOS开发:打造你的第一个天气应用
【9月更文挑战第36天】在这篇文章中,我们将一起踏上iOS开发的旅程,从零开始构建一个简单的天气应用。文章将通过通俗易懂的语言,引导你理解iOS开发的基本概念,掌握Swift语言的核心语法,并逐步实现一个具有实际功能的天气应用。我们将遵循“学中做,做中学”的原则,让理论知识和实践操作紧密结合,确保学习过程既高效又有趣。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往iOS开发世界的大门。