iOS中震動反饋(UIFeedbackGenerator)與系統(tǒng)震動詳解
Taptic Engine
先了解一個概念——Taptic Engine
Taptic Engine 是蘋果產(chǎn)品上推出的全新震動模塊,該元件最早出現(xiàn)在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同樣內(nèi)置了Taptic Engine,在設(shè)計上有所升級。
Taptic Engine 振動模塊為 Apple Watch 以及 iPhone 6s、iPhone 7 提供了 Force Touch 以及 3D Touch,不同的屏幕操作,可以感受到不同的振動觸覺效果,帶來更好的用戶體驗。
震動反饋(UIFeedbackGenerator)

震動反饋是iOS 10之后出的新特性,相比于之前的系統(tǒng)震動
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
要友好得多,沒有聲音,震動幅度適中,不需要設(shè)置里“響鈴模式震動”打開。這也是Apple更推薦開發(fā)者使用的反饋震動。
e.g. Switch控件滑動,時鐘里選時間滑動,產(chǎn)生的震動都是UIFeedbackGenerator特性的。
現(xiàn)在“震動反饋”的應(yīng)用是非常廣的 —— 下拉刷新;點擊重要的Button;選擇器等等。都可以加上反饋。
//
// 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”,使用的時候加上版本限制。**
手機(jī) -- 設(shè)置 -- 聲音與觸感 -- 系統(tǒng)觸感反饋(打開)

此前系統(tǒng)震動AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
在iOS 10之前,系統(tǒng)震動采用的是震動+鈴聲的模式,目前看來是及其不友好的,首先震動略大,其次帶聲音,體驗并不好。但這種的方式可以自定義音效。
Apple文檔(AudioServicesPlaySystemSound)
#import <AudioToolbox/AudioToolbox.h> AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
注意:手機(jī) -- 設(shè)置 -- 聲音與觸感 -- 響鈴模式震動(打開)

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
iOS開發(fā)--仿新聞首頁效果WMPageController的使用詳解
這篇文章主要介紹了iOS開發(fā)--仿新聞首頁效果WMPageController的使用詳解,詳解的介紹了iOS開發(fā)中第三方庫WMPageController控件的使用方法,有需要的可以了解下。2016-11-11
iOS之Https自簽名證書認(rèn)證及數(shù)據(jù)請求的封裝原理
本篇文章主要介紹了iOS之Https自簽名證書認(rèn)證及數(shù)據(jù)請求的封裝原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-02-02

