//首先判斷用戶是否開啟3dTouch
self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)
//若開啟,給當(dāng)前視圖(比如一個cell)注冊3DTouch的peek(預(yù)覽)和pop功能
// self是UIViewController
[self registerForPreviewingWithDelegate:self sourceView:cell];
//然后實現(xiàn)UIViewControllerPreviewingDelegate代理 可以封裝起來,如果APP很多地方需要用到3DTouch 直接幾行代碼搞定
//兩個代理
//peek(預(yù)覽)
- (nullable UIViewController *)previewingContext:(id <UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location
{
//準備好要預(yù)覽的vc
//設(shè)定預(yù)覽的界面
vc.preferredContentSize = CGSizeMake(0.0f,500.0f);
//調(diào)整不被虛化的范圍,按壓的那個cell不被虛化(輕輕按壓時周邊會被虛化,再少用力展示預(yù)覽,再加力跳頁至設(shè)定界面)
CGRect rect = previewingContext.sourceView.bounds;
previewingContext.sourceRect = rect;
//返回預(yù)覽界面
return vc;
}
//pop(按用點力進入)
- (void)previewingContext:(id <UIViewControllerPreviewing>)previewingContext commitViewController:(UIViewController *)viewControllerToCommit {
[self showViewController:viewControllerToCommit sender:self];
}
3D touch 比較簡單 沒有demo
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 一、簡介 3D Touch是指:通過對屏幕施加不同程度的壓力來訪問附加功能。應(yīng)用可以通過顯示菜單、展示其他內(nèi)容和播...
- 01 剛上大學(xué)的那年,雖然有自己的一片天地,但依然沒有擺脫爸媽的遠程遙控; 剛?cè)氪髮W(xué)沒有報名任何社團,每天早五晚六...