//首先判断用户是否开启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 比较简单 没有demo
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、简介 3D Touch是指:通过对屏幕施加不同程度的压力来访问附加功能。应用可以通过显示菜单、展示其他内容和播...