美文网首页
3D Touch的简单应用

3D Touch的简单应用

作者: MoShi_New | 来源:发表于2017-04-17 11:06 被阅读21次

            在最近的需求中,需要用到3DTouch功能,看起来高大上的东西,其实用起来很简单,在这里简单的写一下用法...

    总结起来3DTouch主要有三大功能: 第一点:在外面开辟快捷入口;当然这个需要我们自己动手去添加,至于添加的方式有两种,第一种是静态添加:

    //静态设置(在info.plist)中添加如下字段:uiapplicationShortcutltems在这下面添加 //uiapplicationShortcutltemsTitle(必选)这个键值设置标签的标题uiapplicationShortcutltemsType(必选)这个键值设置一个快捷通道类型的字符串

    这是在plist文件中添加

    需要配置的属性

    第二种方式就是动态添加了:如下图

    动态代码添加

    添加这些东西需要在这个方法下执行:- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary *)options;

    添加以后就需要处理他的点击事件跳转到不同指定页面:如下图

    对应快捷入口处理方法

    效果如下:

    实现的效果

    第二个功能就是预览功能:点击图片浮起周边虚化并且上拉选项处理事件功能.实现这个功能需要先遵守系统的的一个协议<UIViewControllerPreviewingDelegate>然后去实现他的协议方法,在实现协议方法之前需要先注册当前页面

    /**注册当前view (在哪个页面上使用该功能就注册在哪个页面上)*/

    [selfregisterForPreviewingWithDelegate:selfsourceView:self.view];

    注意事项:需要先创建一个

    弹出页面的控件 跳转到下一个页面

    注意:这个协议方法是在需要展示的那个控制器中实现的

    //4、当弹出预览时,上滑预览视图,出现预览视图中快捷选项

    /**

    预览时滑动底部菜单添加,在要展示的ViewController中实现UIViewControllerPreviewingDelegate的协议

    重写方法代理方法- (NSArray> *)previewActionItems;

    */

    -(NSArray> *)previewActionItems

    {

    UIPreviewAction*p1 = [UIPreviewActionactionWithTitle:@"选项1"style:UIPreviewActionStyleDefaulthandler:^(UIPreviewAction*_Nonnullaction,UIViewController*_NonnullpreviewViewController) {

    NSLog(@"1111111");

    UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@""message:@"111111"delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil,nil];

    [alertshow];

    }];

    UIPreviewAction*p2 = [UIPreviewActionactionWithTitle:@"选项2"style:UIPreviewActionStyleSelectedhandler:^(UIPreviewAction*_Nonnullaction,UIViewController*_NonnullpreviewViewController) {

    UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"你点了-删除"message:nildelegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];

    [alertshow];

    }];

    UIPreviewAction*p3 = [UIPreviewActionactionWithTitle:@"选项3"style:UIPreviewActionStyleDestructivehandler:^(UIPreviewAction*_Nonnullaction,UIViewController*_NonnullpreviewViewController) {

    UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"点-置顶"message:nildelegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];

    [alertshow];

    }];

    return@[p1,p2,p3];

    }

    可以自定义上拉事件

    到此为止关于3DTouch的基础应用就搞定了....

    相关文章

      网友评论

          本文标题:3D Touch的简单应用

          本文链接:https://www.haomeiwen.com/subject/fomuottx.html