iOS 3DTouch 开发

看了网上很多贴,但是感觉对于有些人来说太过婉转了,所以我就来个简单粗暴的

1,设置静态标签

首先要在info.plist 里面添加键值

  

UIApplicationShortcutItemType  这个键值设置一个快捷通道类型的字符串

UIApplicationShortcutItemTitle  这个键值设置标签的标题

选填项(下面这些键值不是必须设置的) :

UIApplicationShortcutItemSubtitle  设置标签的副标题

UIApplicationShortcutItemIconType  设置标签Icon类型

UIApplicationShortcutItemIconFile   设置标签的Icon文件

UIApplicationShortcutItemUserInfo  设置信息字典(用于传值)

这个时候代码是这么写的

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

    //判断先前我们设置的唯一标识
    if([shortcutItem.type isEqualToString:@"one"]){
        NSArray *arr = @[@"hello 3D Touch"];
        UIActivityViewController *vc = [[UIActivityViewController alloc]initWithActivityItems:arr applicationActivities:nil];这里写的是你静态标签将要打开的页面
        //设置当前的VC 为rootVC
        [self.window.rootViewController presentViewController:vc animated:YES completion:^{
        }];
    }
}
2.动态标签的设置,可以定义icon

#pragma mark - 3DTouch

- (void)checkTouch:(UIApplication*)application

{

    UIApplicationShortcutIcon *scanIcon = [UIApplicationShortcutIcon iconWithTemplateImageName:@"sao_yi_sao"];

    UIApplicationShortcutItem *scanItem = [[UIApplicationShortcutItem alloc]initWithType:@"sao_yi_sao" localizedTitle:@"扫一扫" localizedSubtitle:nil icon:scanIcon userInfo:nil];

    application.shortcutItems =@[scanItem];


}

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

{

    if ([shortcutItem.type isEqualToString:@"sao_yi_sao"]) {

       

//实际项目中可能会有跳转到制定页面,以及账户是否在线,登录状态等问题。可能会涉及一些线程间的通 信问题 视具体情况而定,

    }

    

//    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(acceptFirstPageMes) name:@"" object:nil];

//    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(comeHome:) name:@"UIApplicationDidEnterBackgroundNotification" object:nil];

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值