3D touch 比较简单 没有demo
作者:
AnnieAri | 来源:发表于
2017-09-11 17:56 被阅读0次//首先判断用户是否开启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
本文链接:https://www.haomeiwen.com/subject/qomfsxtx.html
网友评论