登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

3DTouch

[复制链接]
来自: 李世铿 分类: iOS精品源码 上传时间: 2016-4-20 15:42:10
Tag:3DTouch 手势交互 交互

项目介绍:

文/CoderQiao(简书作者)

北京时间2015年9月10日凌晨,Apple在美国旧金山比尔格拉汉姆公民大礼堂(Bill Graham Civic Auditorium)召开新品发布会.本次发布会带来了3D Touch技术.

本文主要介绍Home Screen Quick Actions,即通过主屏幕的应用Icon,我们可以用3D Touch呼出一个菜单,进行快速定位应用功能模块相关功能的开发。
2 (1).jpg
             微信

1 (1).jpg
          3DTouch

添加标签
Apple为我们提供了两种添加标签的方式:
  • 静态添加
    我们可以通过在工程的info.plist文件中添加标签,这样在App第一次运行之前就可以使用3DTouch来唤出标签了.
  • 动态添加
    我们还可以通过代码给App添加快速入口。这样第一次运行App前是看不到这些标签的,必须先运行App,以后就才可以唤出这些标签了。
3.png
                 静态添加标签



我们可以这种方式添加标签,UIApplicationShortcutItems是一个数组,里面存储着标签,item0就是一个标签也是这个数组的元素,这里添加了一个,标题为:"Hello",子标题为"World".

我们可以看到数组中的元素其实是字典类型的,而字典中的key,UIApplicationShortcutItemType,UIApplicationShortcutItemTitle是必有选项,其他的是可选项,他们依次表示的是
  • UIApplicationShortcutItemType表示一个快捷通道类型的字符串
  • UIApplicationShortcutItemTitle表示标签的标题
  • UIApplicationShortcutItemSubtitle表示标签的子标题
  • UIApplicationShortcutItemIconType表示icon图的类型,系统提供了29种样式的图标
  • UIApplicationShortcutItemIconFile表示自定义标签图片文件的路径
  • UIApplicationShortcutItemUserInfo表示用户信息
4.png
      系统提供的29种样式的图标


动态添加标签

我们在工程跟控制器的ViewDidLoad中写如下代码:
[Objective-C] 查看源文件 复制代码
   /**
     * UIApplicationShortcutItem 创建标签的类
     * UIApplicationShortcutItem 创建可变标签的类
     * UIApplicationShortcutItem 创建标签ICON的类
     */
 // 创建标签的ICON图标。 
 UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon  iconWithType:UIApplicationShortcutIconTypeAdd]; 
 // 创建一个标签,并配置相关属性。 
 UIApplicationShortcutItem *item = [[UIApplicationShortcutItem alloc] initWithType:@"QQ" localizedTitle:@"哈哈哈" localizedSubtitle:@"嘿嘿嘿" icon:icon userInfo:nil]; 
 // 将标签添加进Application的shortcutItems中。 
 [UIApplication sharedApplication].shortcutItems = @[item];


检测App启动方式
我们必须检测程序是从以什么方式启动的,在iOS9中Apple在AppDelegate中为我们提供一个检测App从3DTouch快速入口启动的方法,我们可以在这个方法中进行对标签的判断从而实现不同的功能:
[Objective-C] 查看源文件 复制代码
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler

我们在这个方法中点击不同的标签改变颜色来测试...
[Objective-C] 查看源文件 复制代码
// 如果App是从快速入口启动的,则会执行这个方法.shortcutItem是标签参数.
- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{

    if ([shortcutItem.localizedTitle isEqualToString:@"哈哈哈"]) {
        self.window.rootViewController.view.backgroundColor = [UIColor cyanColor];
    } else if ([shortcutItem.localizedTitle isEqualToString:@"哈..."]) {
        self.window.rootViewController.view.backgroundColor = [UIColor yellowColor];
    } else if ([shortcutItem.localizedTitle isEqualToString:@"哈~"]) {
        self.window.rootViewController.view.backgroundColor = [UIColor orangeColor];
    }
}

DEMO 下载:



相关源码推荐:

我来说两句
*滑动验证:
所有评论(109)
liupeng2016 2016-4-20 16:13:59
我只是路过打酱油的。
回复
EmotionalBoy 2016-4-20 16:37:22
很给力,Code4App有你更精彩!
回复
你好123456 2016-4-20 17:17:56
虽不明,但觉厉!
回复
furueili 2016-4-20 18:02:22
感谢分享,Code4App有你更精彩:)
回复
yuqi6713 2016-4-21 01:01:58
我只是路过打酱油的。
回复
weishine 2016-4-21 08:30:42
楼主威武啊,Code4App有你更给力!
回复
DarrenXman 2016-4-21 09:43:30
很给力,Code4App有你更精彩!
回复
然后呢and 2016-4-21 10:01:04
感谢分享,Code4App有你更精彩
回复
然后呢and 2016-4-21 10:01:39
正需要啊,感谢楼主无私分享!
回复
提取码:  下载次数:123 状态:已购或VIP 售价:0(原价:5)金钱 下载权限:初级码农 
4381 1 123
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表