博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3D Touch
阅读量:6252 次
发布时间:2019-06-22

本文共 3897 字,大约阅读时间需要 12 分钟。

// 创建标签的ICON图标。

    UIApplicationShortcutIcon *icon = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];

    // 创建一个标签,并配置相关属性。

    UIApplicationShortcutItem *item = [[UIApplicationShortcutItem alloc] initWithType:@"two" localizedTitle:@"么么哒" localizedSubtitle:@"爱你呦" icon:icon userInfo:nil];

    // 将标签添加进ApplicationshortcutItems中。

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

 

 

 

 

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    UITableViewCell * cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:@"cell"];

    

        cell.textLabel.text = [NSString stringWithFormat:@"%@"_data[indexPath.row]];

    

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    //判断是否支持3d touch

    if (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable) {

        

    //注册3d touch 的代理 和预览的view        

        [self registerForPreviewingWithDelegate:self sourceView:cell];

    }

    

    

    return cell;

}

 

//遵循代理, 实现代理方法 

- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location NS_AVAILABLE_IOS(9_0)

{

    

    

    NSIndexPath * index = [_tableView indexPathForCell:(UITableViewCell*)[previewingContext sourceView]];

    

    RedViewController *bgView = [[RedViewController alloc]init];

    bgView.view.backgroundColor = [UIColor redColor];

 

  //设置预览的控制器视图的大小    

    bgView.preferredContentSize = CGSizeMake(0.0f, 500.0f);

  //设置预览view 的模糊范围    

    CGRect rect = CGRectMake(0, 0, self.view.frame.size.width,44);

    previewingContext.sourceRect = rect;

    

    return bgView;

    

}

 

- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit NS_AVAILABLE_IOS(9_0);

{

  //重按弹出的控制器

     [self showViewController:viewControllerToCommit sender:self];

}

 

 

 //修改重置item

   id  mutableItem = [UIApplication sharedApplication].shortcutItems;

    

    //获取第0shortcutItem

    id oldItem = [mutableItem objectAtIndex: 0];

    //将旧的shortcutItem改变为可修改类型shortcutItem

    id item = [oldItem mutableCopy];

    //修改shortcutItem的显示标题

    [item setLocalizedTitle: @"Click Lewis"];

    

    [item setLocalizedSubtitle:@"xiixixixi"];

    

    [item setIcon:[UIApplicationShortcutIcon iconWithTemplateImageName:@"saoma"]];

    

    [mutableItem replaceObjectAtIndex:0 withObject:item];

    

    [mutableItem removeLastObject];

    

    [[UIApplication sharedApplication] setShortcutItems:mutableItem];

 

//在重按弹出的控制器中写这个方法

- (NSArray<id<UIPreviewActionItem>> *)previewActionItems {

    // setup a list of preview actions

    UIPreviewAction *action1 = [UIPreviewAction actionWithTitle:@"吃翔好厉害的样子" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

        NSLog(@"Aciton1");

        

        if (self.block) {

            

            self.block();

            

        }

 

        

    }];

    

    UIPreviewAction *action2 = [UIPreviewAction actionWithTitle:@"吃翔棒棒哒" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

        NSLog(@"Aciton2");

    }];

    

    UIPreviewAction *action3 = [UIPreviewAction actionWithTitle:@"吃翔你咋不上天呢" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

        NSLog(@"Aciton3");

    }];

    

    UIPreviewAction *action4 = [UIPreviewAction actionWithTitle:@"吃翔你咋不上天呢" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

        NSLog(@"Aciton3");

    }];

    

    UIPreviewAction *action5 = [UIPreviewAction actionWithTitle:@"吃翔你咋不上天呢" style:UIPreviewActionStyleDefault handler:^(UIPreviewAction * _Nonnull action, UIViewController * _Nonnull previewViewController) {

        NSLog(@"Aciton3");

    }];

    

    NSArray *actions = @[action1,action2,action3,action4,action5];

 

    // and return them (return the array of actions instead to see all items ungrouped)

    return actions;

}

效果如下图:(action1 ,2 ,3 。。。。) 

 

转载于:https://www.cnblogs.com/yuwei0911/p/5871916.html

你可能感兴趣的文章
php 调用百度sms来发送短信的实现示例
查看>>
基于canvas的原生JS时钟效果
查看>>
PL/SQL查看表结构
查看>>
JSON的学习理解
查看>>
经典SQL语句大全
查看>>
升级fedora 18到fedora 19
查看>>
Dictionary和数组查找效率对比
查看>>
alias命令详情
查看>>
自定义异步加载资源插件
查看>>
easyui combobox两种不同的数据加载方式
查看>>
Smarty配置与实例化
查看>>
***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象...
查看>>
Siege——多线程编程最佳实例
查看>>
c# 生成 验证码
查看>>
SQL Server 触发器
查看>>
何为SLAM
查看>>
[工具]infolite-chrome插件css插件
查看>>
javascript 深拷贝
查看>>
【代码小记】无
查看>>
【知识点】Java机密
查看>>