3D Touch的简单应用 ...

        在最近的需求中,需要用到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的基础应用就搞定了....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容