iOS仿微信搖一搖動畫效果加震動音效例項

2022-09-24 17:33:11 字數 1616 閱讀 1117

眾所周知, 微信中的搖一搖功能: 搜尋人/歌曲/電視,同樣在一些其他類app中也有乙個搖一搖簽到, 搖一搖隨機選號等功能,下面以微信搖一搖功能來介紹實現原理.

對於搖一搖功能, 在ios中系統預設為我們提供了搖一搖的功能檢測api. ios 中既然已經提供了介面, 我們直接呼叫就好了.

#import

#import

實現原理

1. 監聽搖一搖方法

// 搖一搖開始

- (void)motionbegan:(uieventsubtype)motion withevent:(nullable uievent *)event ns_**ailable_ios(3_0);

// 搖一搖結束

- (void)motionended:(uieventsubtype)motion withevent:(nullable uievent *)event ns_**ailable_ios(3_0);

// 搖一搖取消

- (void)motioncancelled:(uieventsubtype)motion withevent:(nullable uievent *)event ns_**ailable_ios(3_0);

2. 解決搖一搖失效的情況.

ps: 使用 xcode6.x 後建立的專案,僅僅實現第一步監聽就可以實現,沒有遇到這種問題.

- (bool)canbecomefirstrespowww.cppcns.comnder

3. 搖一搖階段需要震動及聲音.

// 搖動開始

- (void)motionbegan:(uieventsubtype)motion withevent:(uievent *)event

// 搖動結束

- (void)motionended:(uieventsubtype)motion withevent:(uievent *)event

}4. 搖一搖階段需要動畫效果.

微信的搖一搖功能是先在檢視上放乙個搖後要顯示的:手拿手機的, 這個就是上下兩半拼在一起給人一種一張的感覺;當檢測到搖一搖 捕捉到晃動事件後,上下兩張分別上下做乙個動畫移動(上面的一半往上移,下面的往下移),在completion 裡面再移回來.

這裡有兩種方法:

方法一:抽出來新增動畫效果的方法, 在搖一搖結束方法裡新增這個方法.

- (void)addanimations

方法二.在搖一搖開始和結束裡新增搖動動畫效果及菊花效果

/*** 搖動開始

*/- (void)motionbegan:(uieventsubtype)motion withevent:(uievent程式設計客棧 *)event ];

}/**

* 搖動結束

*/- (void)motionended:(uieventsubtype)motion withevent:(uievent *)event ];

// 菊花暫停轉動並隱藏

[self.aiload stopanimating];

self.aiload.hidden = yes;

}當然也有使用搖一搖做其他功能的,可以在當結束搖動時,就傳送乙個網路請求作相關操作即可。

本文標題: ios仿微信搖一搖動畫效果加震動音效例項

本文位址:

微信搖一搖外掛程式ios iOS 仿微信搖一搖

釋放雙眼,帶上耳機,聽聽看 viewcontroller.m 搖一搖 import viewcontroller.h import lzaudiotool.h import define kwidth uiscreen mainscreen bounds.size.width define khei...

仿微信搖一搖實現搖動開始與結束監聽

安卓端做搖一搖,主要運用到sensormanager 這個類,通過重力感測器,獲取xyz三軸的位置變化,來判斷是否是搖動。注意 手機震動需要加入震動許可權 android.permission.vibrate 一 sensormanager 初始化 註冊sensormanager 獲取 sensor...

微信搖一搖原理

1 感測器 sensor 是什麼?感測器是能標識溫度,加速度等等物理現象的轉換電子訊號的機器。android sdk,在移動裝置中提供了各種各樣的感測器的api。2 感測器型別 方向 加速表 光線 磁場 臨近性 溫度等。3 sensorlistener介面是感測器應用程式的中心,它包括兩個必需方法 ...