3DTouch为你的app添加类似微信的快捷弹出按钮

新发布的6s设备增加了3DTouch功能,根据按压力度的不同可以响应不同的事件,刚发布之际,微信就更新了版本,为6S用户增加了快捷呼出菜单,怎么为我们自己的app也增加这新功能呢,很简单,iOS提供了新的API。
  @interface UIApplicationShortcutItem : NSObject <NSCopying, NSMutableCopying>

- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithType:(NSString *)type localizedTitle:(NSString *)localizedTitle localizedSubtitle:(nullable NSString *)localizedSubtitle icon:(nullable UIApplicationShortcutIcon *)icon userInfo:(nullable NSDictionary *)userInfo NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithType:(NSString *)type localizedTitle:(NSString *)localizedTitle;

其中UIApplicationShortcutItem就是快捷呼出按钮,苹果提供了以上几种初始话方法,我们在AppDelegate.m中添加代码就可以例如我们参照微信添加几个带图片的shotcutItem

UIApplicationShortcutIcon *icom_1 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"01"];
    UIApplicationShortcutItem *quickItem_1 = [[UIApplicationShortcutItem alloc] initWithType:@"0" localizedTitle:@"没东西" localizedSubtitle:nil icon:icom_1 userInfo:nil];
    UIApplicationShortcutIcon *icom_2 = [UIApplicationShortcutIcon iconWithTemplateImageName:@"02"];
    UIApplicationShortcutItem *quickItem_2 = [[UIApplicationShortcutItem alloc] initWithType:@"1" localizedTitle:@"写字板" localizedSubtitle:nil icon:icom_2 userInfo:nil];
    [[UIApplication sharedApplication] setShortcutItems:@[quickItem_1,quickItem_2]];

怎么响应这些点击事件呢,在-(void)application:(UIApplication )application performActionForShortcutItem:(UIApplicationShortcutItem )shortcutItem completionHandler:(void (^)(BOOL))completionHandler放法中获得点击事件,具体代码如下

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler{
    self.window.rootViewController = _rootNav;
        if ([shortcutItem.type isEqualToString:@"0"]) {
            if (_rootNav.viewControllers.count > 1) {
                [_rootNav popToRootViewControllerAnimated:YES];
            }
        }else if ([shortcutItem.type isEqualToString:@"1"]){
            ViewController *rootView = (ViewController *)_rootNav.topViewController;
            [rootView.navigationController pushViewController:[[SecondViewController alloc] init] animated:YES];
        }

    }

运行以下 我们就为app增加了快速呼出按钮了,同时还有新的api来获取用户的点击力度,在demo中也有,感兴趣的可以去下载本工程3DTouchShortCutDemo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值