您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“iOS中震動反饋與系統震動的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“iOS中震動反饋與系統震動的示例分析”這篇文章吧。
Taptic Engine
先了解一個概念——Taptic Engine
Taptic Engine 是蘋果產品上推出的全新震動模塊,該元件最早出現在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同樣內置了Taptic Engine,在設計上有所升級。
Taptic Engine 振動模塊為 Apple Watch 以及 iPhone 6s、iPhone 7 提供了 Force Touch 以及 3D Touch,不同的屏幕操作,可以感受到不同的振動觸覺效果,帶來更好的用戶體驗。
震動反饋(UIFeedbackGenerator)
震動反饋是iOS 10之后出的新特性,相比于之前的系統震動
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
要友好得多,沒有聲音,震動幅度適中,不需要設置里“響鈴模式震動”打開。這也是Apple更推薦開發者使用的反饋震動。
e.g. Switch控件滑動,時鐘里選時間滑動,產生的震動都是UIFeedbackGenerator特性的。
現在“震動反饋”的應用是非常廣的 —— 下拉刷新;點擊重要的Button;選擇器等等。都可以加上反饋。
Apple文檔(UIFeedbackGenerator)
// // UIImpactFeedbackGenerator.h // UIKit // // Copyright © 2016 Apple Inc. All rights reserved. // #import <UIKit/UIFeedbackGenerator.h> NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSInteger, UIImpactFeedbackStyle) { UIImpactFeedbackStyleLight, UIImpactFeedbackStyleMedium, UIImpactFeedbackStyleHeavy }; // UIImpactFeedbackGenerator is used to give user feedback when an impact between UI elements occurs UIKIT_CLASS_AVAILABLE_IOS_ONLY(10_0) @interface UIImpactFeedbackGenerator : UIFeedbackGenerator - (instancetype)initWithStyle:(UIImpactFeedbackStyle)style; /// call when your UI element impacts something else - (void)impactOccurred; @end
想要用震動反饋也特別簡單:
UIImpactFeedbackGenerator *feedBackGenertor = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleMedium]; [feedBackGenertor impactOccurred];
注意: “UIImpactFeedbackGenerator' is only available on iOS 10.0 or newer”,使用的時候加上版本限制。**
手機 -- 設置 -- 聲音與觸感 -- 系統觸感反饋(打開)
此前系統震動AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
在iOS 10之前,系統震動采用的是震動+鈴聲的模式,目前看來是及其不友好的,首先震動略大,其次帶聲音,體驗并不好。但這種的方式可以自定義音效。
Apple文檔(AudioServicesPlaySystemSound)
#import <AudioToolbox/AudioToolbox.h> AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
注意:手機 -- 設置 -- 聲音與觸感 -- 響鈴模式震動(打開)
以上是“iOS中震動反饋與系統震動的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。