iOS 为 App 图标添加 3D Touch 快捷启动菜单,Demo 地址:https://github.com/EyreFree/EF3DTouchDemo
1.注意事项
3D Touch 只在 iOS 9 及以上版本得到支持,之前版本的 iOS 并不支持该功能;
3D Touch 只在 iPhone 6s 及以后型号的 iPhone 或 iPad Pro 上可用,更早的设备并不支持该功能。
具体可通过如下代码进行判断:
if self.traitCollection.forceTouchCapability == UIForceTouchCapability.available { |
2.添加按钮
右键点击工程中的 Info.plist 文件选择打开方式为 Source Code:
在其中填写如下代码:
<key>UIApplicationShortcutItems</key> |
其中 UIApplicationShortcutItemIconType 项代表按钮图标,更多图标可以参见: https://developer.xamarin.com/api/type/UIKit.UIApplicationShortcutIconType/
这段代码添加了两个 3D Touch 按钮,“3D Touch 测试按钮”和“3D 出来吧,小火龙!”。
3.添加功能代码
打开 AppDelegate.swift 在其中添加如下代码,这段代码对点击按钮操作进行了处理,点击按钮后会进入 App 弹出一个显示按钮名称的对话框:
func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) { |
我们可以在这里添加代码从而实现根据不同来源按钮而执行不同的操作,结果如图所示:
4.其他
1.需要注意的是,快捷启动按钮最多只能添加 4 个。
2.最新的 iOS 10 系统会给所有的 App 额外添加一个 3D Touch 分享按钮,点击后不打开 App 而是调用系统分享该应用的 App Store 下载地址。
参考资料:
http://iostuts.io/2015/10/08/how-to-add-quick-actions/
http://stackoverflow.com/questions/36369058/how-to-check-3d-touch-available-in-iphone-programatically
如有任何知识产权、版权问题或理论错误,还请指正。
https://eyrefree.org/2016/3D-Touch
如文中无特殊说明,本站均使用以下协议保护:署名-非商业性使用-禁止演绎。