iOS 震動(dòng)反饋(UIFeedbackGenerator)和系統(tǒng)震動(dòng)

震動(dòng)反饋(UIFeedbackGenerator)

鬧鐘滑動(dòng)時(shí)間的震動(dòng)反饋.png

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

想要用震動(dòng)反饋也特別簡單:

UIImpactFeedbackGenerator *feedBackGenertor = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleMedium];
[feedBackGenertor impactOccurred];
注意:“UIImpactFeedbackGenerator' is only available on iOS 10.0 or newer”,使用的時(shí)候加上版本限制。**

手機(jī) -- 設(shè)置 -- 聲音與觸感 -- 系統(tǒng)觸感反饋(打開)

系統(tǒng)觸感反饋.png

此前系統(tǒng)震動(dòng)AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)

在iOS 10之前,系統(tǒng)震動(dòng)采用的是震動(dòng)+鈴聲的模式,目前看來是及其不友好的,首先震動(dòng)略大,其次帶聲音,體驗(yàn)并不好。但這種的方式可以自定義音效。
Apple文檔(AudioServicesPlaySystemSound)

#import <AudioToolbox/AudioToolbox.h>  

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
注意:手機(jī) -- 設(shè)置 -- 聲音與觸感 -- 響鈴模式震動(dòng)(打開)
響鈴模式震動(dòng).png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 四月的風(fēng)卷起了滿地的樟葉,紛飛在空中,路上的行人在匆忙中未望及一眼,倒是誰脖頸上的絲巾在向著后方紛飛的落葉做出了挽...
    麥子irong閱讀 452評(píng)論 0 1
  • 大多數(shù)人,包括我都是往往安慰別人都是一套一套的。但是,有些事情如果發(fā)生在自己身上,往往卻想不開,不能及時(shí)的處理好情...
    公子_瑾瑜閱讀 309評(píng)論 0 0
  • 你知道,故事的結(jié)尾并不重要,生活唯一確保我們的就是死亡,所以我們最好不要讓那結(jié)尾,奪走故事的光芒 —《漫長的告別》...
    方圓丶幾何閱讀 678評(píng)論 9 10
  • 1.陪你一起走過的漫長歲月 跟阿寶剛認(rèn)識(shí)是在高二,那時(shí)她還沒這么爺們兒,我也沒這么逗比。很快熟悉起來也沒什么道理。...
    Carousels1閱讀 1,628評(píng)論 1 1

友情鏈接更多精彩內(nèi)容