在最近的需求中,需要用到3DTouch功能,看起来高大上的东西,其实用起来很简单,在这里简单的写一下用法...
总结起来3DTouch主要有三大功能: 第一点:在外面开辟快捷入口;当然这个需要我们自己动手去添加,至于添加的方式有两种,第一种是静态添加:
//静态设置(在info.plist)中添加如下字段:uiapplicationShortcutltems在这下面添加 //uiapplicationShortcutltemsTitle(必选)这个键值设置标签的标题uiapplicationShortcutltemsType(必选)这个键值设置一个快捷通道类型的字符串
这是在plist文件中添加
![](https://img.haomeiwen.com/i2418831/f2e48c79fbd349be.png)
第二种方式就是动态添加了:如下图
![](https://img.haomeiwen.com/i2418831/8cf6ebeb9364e1d3.png)
添加这些东西需要在这个方法下执行:- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary *)options;
添加以后就需要处理他的点击事件跳转到不同指定页面:如下图
![](https://img.haomeiwen.com/i2418831/5e492fd36d4dfec2.png)
效果如下:
![](https://img.haomeiwen.com/i2418831/b99187a0c7cecc59.png)
第二个功能就是预览功能:点击图片浮起周边虚化并且上拉选项处理事件功能.实现这个功能需要先遵守系统的的一个协议<UIViewControllerPreviewingDelegate>然后去实现他的协议方法,在实现协议方法之前需要先注册当前页面
/**注册当前view (在哪个页面上使用该功能就注册在哪个页面上)*/
[selfregisterForPreviewingWithDelegate:selfsourceView:self.view];
注意事项:需要先创建一个
![](https://img.haomeiwen.com/i2418831/d19ce4dc5b5357f4.jpeg)
![](https://img.haomeiwen.com/i2418831/1e2a16ad48c3c711.png)
注意:这个协议方法是在需要展示的那个控制器中实现的
//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];
}
![](https://img.haomeiwen.com/i2418831/36edf7fa5a51fa57.png)
到此为止关于3DTouch的基础应用就搞定了....
网友评论