簡述
Taptic Engine 是蘋果的觸覺反饋技術(shù),其中Taptic演變自Haptic啃擦,即觸覺。
Taptic Engine目前已經(jīng)應(yīng)用在蘋果全線設(shè)備中。它讓Apple Watch震動時有手腕被人拍了一下的感覺鞍帝。讓MacBook觸摸板有以假亂真的觸感(Force Touch)。而在iPhone上煞茫,除了實現(xiàn)了3D Touch讓屏幕多了一維交互外帕涌,還實現(xiàn)了虛擬Home鍵的反饋效果,甚至還提供了一套Taptic API供開發(fā)者實現(xiàn)自己的震動反饋续徽。
何時使用觸摸反饋
為了保證所有app體驗的一致性蚓曼,蘋果總結(jié)了適合觸摸反饋的場景,收錄于iOS Human Interface Guidelines中钦扭,規(guī)范中將觸摸反饋的使用場景分為三類:Notification纫版、Impact和Seleciton。
Notification用來表示成功客情、失敗或者警告的反饋捎琐,Impact用于加強用戶對物理碰撞體驗,Selection用于表示用戶選擇區(qū)域的變化裹匙。
蘋果在其官方文檔里反復(fù)強調(diào)了在用戶確定需要反饋的時候再使用瑞凑,不要因為觸摸反饋帥就亂用,再加上觸摸反饋只支持iPhone 7/7P概页,因此在設(shè)計觸摸反饋時一定要考慮使用場景籽御,不能讓有觸摸反饋的用戶覺得干擾,也不能影響沒有觸摸反饋用戶的體驗。文檔里啰啰嗦嗦了這么多蘋果爸爸你倒是什么時候給電話接通加個震動提醒啊技掏,這很符合Notification.Success的場景好嗎
Taptic API
和iOS Human Interface Guidelines對應(yīng)铃将,Tapic API用三個子類UIImpactFeedbackGenerator、UISelectionFeedbackGenerator和UINotificationFeedbackGenerator來代表三種不同類型的震動哑梳。
無論是哪種震動劲阎,調(diào)用的套路基本相同:
實例化FeedbackGenerator
調(diào)用prepare方法。(非必須)手動調(diào)用prepare的好處是可以預(yù)先初始化FeedbackGenerator鸠真,這樣在需要觸發(fā)震動的時候可以立即響應(yīng)悯仙。當(dāng)然在實時性不是很強的操作上不調(diào)用prepare也沒什么關(guān)系。
調(diào)用震動方法吠卷。不同類型的實例調(diào)用的方式不同锡垄,比如UIImpactFeedbackGenerator調(diào)用的是impactOccurred,而UISelectionFeedbackGenerator調(diào)用selectionChanged祭隔。
釋放FeedbackGenerator货岭。(非必須)即把FeedbackGenerator實例設(shè)為nil。
我寫了個包括各種類型觸摸反饋的demo疾渴,需要體驗的可以戳這里千贯。 (PS:親測demo中的方法都不支持6s, 6s用戶表示憂傷搞坝,明明我6s用戶有Taptic硬件啊/(ㄒoㄒ)/~~)
本文為云棲社區(qū)原創(chuàng)內(nèi)容丈牢,未經(jīng)允許不得轉(zhuǎn)載,如需轉(zhuǎn)載請發(fā)送郵件至yqeditor@list.alibaba-inc.com瞄沙;如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com 進行舉報慌核,并提供相關(guān)證據(jù)距境,一經(jīng)查實,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容垮卓。