3D touch 比较简单 没有demo

//首先判断用户是否开启3dTouch
self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)
//若开启,给当前视图(比如一个cell)注册3DTouch的peek(预览)和pop功能
// self是UIViewController
[self registerForPreviewingWithDelegate:self sourceView:cell];

//然后实现UIViewControllerPreviewingDelegate代理  可以封装起来,如果APP很多地方需要用到3DTouch 直接几行代码搞定
//两个代理
//peek(预览)
- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
{
    //准备好要预览的vc
      
 //设定预览的界面
    vc.preferredContentSize = CGSizeMake(0.0f,500.0f);
    
    //调整不被虚化的范围,按压的那个cell不被虚化(轻轻按压时周边会被虚化,再少用力展示预览,再加力跳页至设定界面)
    CGRect rect = previewingContext.sourceView.bounds;
    previewingContext.sourceRect = rect;
    
    //返回预览界面
    return vc;

}

//pop(按用点力进入)
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit {
    [self showViewController:viewControllerToCommit sender:self];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简介 3D Touch是指:通过对屏幕施加不同程度的压力来访问附加功能。应用可以通过显示菜单、展示其他内容和播...
    DamonMok阅读 20,672评论 11 93
  • 01 刚上大学的那年,虽然有自己的一片天地,但依然没有摆脱爸妈的远程遥控; 刚入大学没有报名任何社团,每天早五晚六...
    铅笔小欣阅读 604评论 0 0
  • 端端称我为老托得 “‘老托得’过来和我玩一玩!”端端在叫我,我装作没听见依旧看手机。端端走过来拽着我的手,“‘托得...
    雄风05yz阅读 321评论 0 1
  • 文|江晓白 01 知乎上有一个提问:16岁那年爱过的人,现在怎么样了? 16岁是渐次芬芳的待开花蕾,不胜娇羞更不胜...
    江晓白阅读 4,889评论 215 178
  • ---嗒嗒嗒 隐秘的电报来自你身体的磁场: 如飞奔的马铁蹄,如急促的雨点 敲打着擎立在夜空中孤独的灯塔。 欲在床沿...
    舒严阅读 137评论 0 0