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