3Dtouch

iPhone 6S开始 屏幕支持3D Touch 支持的最低系统版本为iOS 9.

使用3D Touch功能的可以在主界面添加应用的快捷入口. (Home Screen Quick Actions )

  • 这个功能是通过主屏幕的应用Icon,使用3D Touch呼出一个菜单,进行快速定位应用功能模块相关功能的开发。

  • 快捷标签最多可以创建四个,包括静态的和动态的。如果同时设定,会优先显示静态的.(app上线后 会自动多一个’分享’ 是苹果自动加的 不用做任何处理.也就是说其实最多是五个标签,但是最后一个固定为’分享’)

  • 静态的可以在程序不打开的情况下显示,动态的必须在程序至少打开一次以后显示.

  • 动态添加的可以动态删除,静态的不可以.

添加方法

系统提供了两种屏幕标签,分别是静态标签和动态标签。

  • 静态标签
    静态标签是我们在项目的配置plist文件中配置的标签,在用户安装程序后就可以使用,并且排序会在动态标签的前面。
    在info.plist文件中添加键值(系统没有提示,只能手动输入) UIApplicationShortcutItems

这里写图片描述
相关key介绍

key描述必填
UIApplicationShortcutItemTitle标签的标题YES
UIApplicationShortcutItemType区分与其他快速选项的分类YES
UIApplicationShortcutItemSubtitle标签的副标题NO
UIApplicationShortcutItemIconTypeIcon类型NO
UIApplicationShortcutItemIconFileIcon文件(定义以后type无效.不定义,根据type会给系统的icon.只定义这个key但是没有值默认是个点,都不定义没有图标)NO
UIApplicationShortcutItemUserInfo信息字典(用于传值)NO

* 动态标签
动态标签可以更加灵活的添加标签.比如某些功能只有用户登录以后才能使用,那么可以在用户登录之后再添加这个标签,在退出登录时删除这个标签.动态添加的标签不会影响静态标签的显示和排序,而且显示时,会自动排在静态标签之后,如果静态标签已经>=4,不会显示.

相关类:

UIApplicationShortcutItem 3D Touch标签的类

UIMutableApplicationShortcutItem 可变的3D Touch标签的类

UIApplicationShortcutIcon 标签中图片Icon的类

//创建

UIApplicationShortcutItem * item = [[UIApplicationShortcutItem alloc]initWithType:@"two" localizedTitle:@"第二个标签" localizedSubtitle:@"戳我" icon:[UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypePlay] userInfo:nil];

// 添加

[UIApplication sharedApplication].shortcutItems = @[item];

//当前已有的标签
//NSArray * array = [UIApplication sharedApplication].shortcutItems;

为了不重复添加标签,可以通过获取当前已有的标签来判断是否应该添加.另外也可以通过这个array删除指定的动态标签,而不是删除所有.

响应标签的行为

当我们通过标签进入app时,就会在AppDelegate中调用这样一个回调,可以通过获取shortcutItem的 type 和 userinfo 来进行相关逻辑操作。

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler

如果我们不是在后台,而是直接打开的应用.可以在 didFinishLaunchingWithOptions 中来响应快速进入事件,做一些处理.

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

UIApplicationShortcutItem *item = [launchOptions valueForKey:UIApplicationLaunchOptionsShortcutItemKey];

}

通过这个功能我们可以快速进入app的指定界面.比如微信的扫一扫,微博的转发微博等.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值