欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS中震動(dòng)反饋(UIFeedbackGenerator)與系統(tǒng)震動(dòng)詳解

 更新時(shí)間:2018年08月24日 08:37:00   作者:whbalzac  
最近要做一個(gè)項(xiàng)目,需要持續(xù)響鈴并振動(dòng),所以就有了這篇文章,下面這篇文章主要給大家介紹了關(guān)于iOS中震動(dòng)反饋(UIFeedbackGenerator)與系統(tǒng)震動(dòng)的相關(guān)資料,需要的朋友可以參考下

Taptic Engine

先了解一個(gè)概念——Taptic Engine

Taptic Engine 是蘋果產(chǎn)品上推出的全新震動(dòng)模塊,該元件最早出現(xiàn)在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同樣內(nèi)置了Taptic Engine,在設(shè)計(jì)上有所升級(jí)。

Taptic Engine 振動(dòng)模塊為 Apple Watch 以及 iPhone 6s、iPhone 7 提供了 Force Touch 以及 3D Touch,不同的屏幕操作,可以感受到不同的振動(dòng)觸覺效果,帶來更好的用戶體驗(yàn)。

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


震動(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)反饋也特別簡(jiǎn)單:

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)震動(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)(打開)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • iOS通過逆向理解Block的內(nèi)存模型

    iOS通過逆向理解Block的內(nèi)存模型

    自從對(duì) iOS 的逆向初窺門徑后,我也經(jīng)常通過它來分析一些比較大的應(yīng)用,參考一下這些應(yīng)用中某些功能的實(shí)現(xiàn)。這個(gè)探索的過程樂趣多多,不僅能滿足自己對(duì)未知的好奇心,還經(jīng)常能發(fā)現(xiàn)一些意外的驚喜。這篇文章主要介紹了iOS通過逆向如何深入理解Block內(nèi)存模型的相關(guān)資料。
    2017-01-01
  • iOS中block變量捕獲原理詳析

    iOS中block變量捕獲原理詳析

    這篇文章主要給大家介紹了關(guān)于iOS中block變量捕獲原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 使用Xcode為iOS應(yīng)用項(xiàng)目創(chuàng)建PCH文件的方法及應(yīng)用示例

    使用Xcode為iOS應(yīng)用項(xiàng)目創(chuàng)建PCH文件的方法及應(yīng)用示例

    這篇文章主要介紹了使用Xcode為iOS應(yīng)用項(xiàng)目創(chuàng)建PCH文件的方法及應(yīng)用示例,PCH文件可以保留應(yīng)用的很多的基礎(chǔ)設(shè)置信息以供復(fù)用,需要的朋友可以參考下
    2016-03-03
  • iOS如何為導(dǎo)航欄添加播放動(dòng)畫

    iOS如何為導(dǎo)航欄添加播放動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了iOS如何為導(dǎo)航欄添加播放動(dòng)畫的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • TextField和TextView限制輸入字?jǐn)?shù)長(zhǎng)度

    TextField和TextView限制輸入字?jǐn)?shù)長(zhǎng)度

    這篇文章主要為大家詳細(xì)介紹了TextField和TextView限制輸入字?jǐn)?shù)長(zhǎng)度代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • iOS多語言本地化流程的優(yōu)化方案

    iOS多語言本地化流程的優(yōu)化方案

    這篇文章主要給大家介紹了關(guān)于iOS多語言本地化流程的優(yōu)化的相關(guān)資料,多語言本地化是我們大家在開發(fā)中經(jīng)常會(huì)遇到的一個(gè)功能,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2018-01-01
  • iOS與Unity交互筆記之參數(shù)傳遞

    iOS與Unity交互筆記之參數(shù)傳遞

    這篇文章主要給大家介紹了關(guān)于iOS與Unity交互筆記之參數(shù)傳遞的相關(guān)資料,需要的朋友可以參考下
    2019-04-04
  • 以代碼實(shí)例總結(jié)iOS應(yīng)用開發(fā)中數(shù)據(jù)的存儲(chǔ)方式

    以代碼實(shí)例總結(jié)iOS應(yīng)用開發(fā)中數(shù)據(jù)的存儲(chǔ)方式

    這篇文章主要介紹了iOS應(yīng)用開發(fā)中數(shù)據(jù)的存儲(chǔ)方式的實(shí)例總結(jié),代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下
    2016-02-02
  • 使用Reachability類判斷iOS設(shè)備的當(dāng)前網(wǎng)絡(luò)連接類型

    使用Reachability類判斷iOS設(shè)備的當(dāng)前網(wǎng)絡(luò)連接類型

    這篇文章主要介紹了使用Reachability類判斷iOS設(shè)備的當(dāng)前網(wǎng)絡(luò)連接類型,這里開發(fā)語言為傳統(tǒng)的Objectice-C,需要的朋友可以參考下
    2016-02-02
  • IOS 開發(fā)之觸摸事件詳細(xì)介紹

    IOS 開發(fā)之觸摸事件詳細(xì)介紹

    這篇文章主要介紹了IOS 開發(fā)之觸摸事件詳系介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02

最新評(píng)論