iOS开发-3DTouch

3D Touch是一种立体触控技术,被苹果称为新一代多点触控技术,是在Apple Watch上采用的Force Touch,屏幕可感应不同的感压力度触控。3D Touch,苹果iPhone 6s的新功能,看起来类似 PC 上的右键。有Peek Pop 两种新手势。

2015年9月10日,苹果在新品发布会上宣布了3D-Touch功能。

2016年6月13日,苹果开发者大会WWDC在旧金山召开,会议宣布可以在待机画面用3D Touch操作通知。

  • 支持机型6s以上
937405-229ccc8a65822c4c.jpg

一.3D触摸功能添加分为两种(1)静态标签(填写plist文件)(2)动态标签(代码撸)

(1)静态标签

ZNFfU3v.png
先添加了一个UIApplicationShortcutItems的数组,这个数组中添加的元素就是对应的静态标签,在每个标签中我们需要添加一些设置的键值:

必填项(下面两个键值是必须设置的):

UIApplicationShortcutItemType

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

UIApplicationShortcutItemTitle

这个键值设置标签的标题

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

UIApplicationShortcutItemSubtitle

设置标签的副标题

UIApplicationShortcutItemIconType

设置标签图标类型

UIApplicationShortcutItemIconFile

设置标签的图标文件

UIApplicationShortcutItemUserInfo

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

(1)动态标签

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //3D Touch按压程序图标的快捷项
    //快捷菜单的图标
    UIApplicationShortcutIcon *icon1=[UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCaptureVideo];
    UIApplicationShortcutIcon *icon2=[UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];
    UIApplicationShortcutIcon *icon3=[UIApplicationShortcutIcon iconWithTemplateImageName:@"search"];
    //快捷菜单
    UIApplicationShortcutItem *item1=[[UIApplicationShortcutItem alloc]initWithType:@"1"
                                                                     localizedTitle:@"发布"
                                                                  localizedSubtitle:nil
                                                                               icon:icon1
                                                                           userInfo:nil];
    UIApplicationShortcutItem *item2=[[UIApplicationShortcutItem alloc]initWithType:@"1"
                                                                     localizedTitle:@"列表"
                                                                  localizedSubtitle:nil
                                                                               icon:icon2
                                                                           userInfo:nil];
    UIApplicationShortcutItem *item3=[[UIApplicationShortcutItem alloc]initWithType:@"1"
                                                                     localizedTitle:@"慈善"
                                                                  localizedSubtitle:nil
                                                                               icon:icon3
                                                                           userInfo:nil];
    //设置app的快捷菜单
    [[UIApplication sharedApplication] setShortcutItems:@[item1,item2,item3]];

-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
{
    
    NSUserDefaults *UserDefaults = [NSUserDefaults standardUserDefaults];
    BOOL  gai = [UserDefaults  boolForKey:@"isLogin"];
    
    NSLog(@"状态 = %d",gai);
    
    if (gai == YES ) {
    
    if([shortcutItem.localizedTitle isEqualToString:@"发布"])
    {
        ZongViewController *zong = [[ZongViewController alloc]init];
        
 [nav pushViewController:zong animated:NO];
        
    }
    else if([shortcutItem.localizedTitle isEqualToString:@"列表"])
    {
              LastnewViewController *last = [[   LastnewViewController alloc]init];
        
        [nav pushViewController:last animated:NO];
        
        
    }
    else if([shortcutItem.localizedTitle isEqualToString:@"慈善"])
    {
       
        
        
        
        CharitiesViewController *charit = [[   CharitiesViewController alloc]init];
        
        [nav pushViewController:charit animated:NO];
        
    }
        
    }else {
       
        LoginViewController *login = [[   LoginViewController alloc]init];
        
       [nav pushViewController:login animated:NO];
  
    }
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原因推测 最近公司项目加入 3D touch 功能上线后, 有用户反映他们的机器在点击程序 icon 的时候就直接...
    Oniityann阅读 1,290评论 3 4
  • 开发环境及调试设备支持: Xcode7或以上,iOS9或以上,iPhone6s或以上 3DTouch功能主要分为两...
    Sunshine丶宇天阅读 439评论 0 1
  • 1.简单的介绍一下3D Touch 3D Touch的触控技术,被苹果称为新一代多点触控技术。其实,就是此前在Ap...
    Camille_chen阅读 12,104评论 19 33
  • 3D Touch介绍 从iPhone 6s开始,产品都添加了一项硬件属性,叫做3D touch。作为屏幕的一部分,...
    歪笔书生_阅读 641评论 0 0
  • 前言 关于这篇文章 由于iPhone 6S发布不到一年的时间,很多新特性、新技术还未普遍,不管是3D Touch的...
    Tangentw阅读 4,580评论 8 18