IOS檢測晃動的兩種方式
第一種:
第一步:在AppDelegate中設定如下:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
application.applicationSupportsShakeToEdit = YES;
}
第二步:在相應的viewController中新增相應的程式碼如下:
-(BOOL)canBecomeFirstResponder {
return YES;
}
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake) {
NSLog(@"檢測到晃動");
}
}
在模擬器中測試晃動,按組合鍵:Ctrl + Win + Z
第二種:
利用UIAccelerometer加速器來檢測,程式碼如下:
- (void)viewDidLoad
{
UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
accelerometer.delegate = self;
accelerometer.undateInterval = 1.0f / 60.0f;
}
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceletration *)acceleration
{
if(fabsf(acceleration.x)>2.0||fabsf(acceleration.y>2.0)||fabsf(acceleration.z)>2.0)
{
//NSLog(@"檢測到晃動");
}
}
相關文章
- redis的php驅動兩種方式RedisPHP
- iOS之網上下載資料的兩種方式iOS
- 兩種啟動資料庫的方式資料庫
- iOS App中可拆卸一個framework的兩種方式iOSAPPFramework
- 動態代理的兩種方式以及區別
- Nagios被動檢測iOS
- axios(xhr) 和 fetch 兩種請求方式iOS
- ChatTTS的兩種使用方式TTS
- thinkphp 5自動生成模組目錄的兩種方式PHP
- 兩種方式實現橫向滾動條
- JS 垃圾回收的兩種方式JS
- Docker打包映象的兩種方式Docker
- sparkrdd轉dataframe的兩種方式Spark
- 提交Application的兩種方式APP
- 建立Session物件的兩種方式Session物件
- AutoLayout和Masonry兩種方式實現自動佈局的內容包裹和檢視均分
- IOS橫線滾動檢視的實現---方式二iOS
- 一種新的頁面載入時間檢測方式
- zabbix agent 的兩種安裝方式
- HTTP代理的兩種連線方式HTTP
- JavaScript 函式的兩種宣告方式JavaScript函式
- RAC時間同步的兩種方式
- SSH綜合查詢的兩種方式
- easyUI 初始化的兩種方式UI
- 建立oracle dblink 的兩種方式Oracle
- 安裝aab包的兩種方式
- angular學習筆記(三)-檢視繫結資料的兩種方式Angular筆記
- Oracle兩種備份方式Oracle
- 隱藏元素兩種方式
- 目標檢測兩種常用的資料集COCO和VOC
- JS中資料型別檢測四種方式的優缺點JS資料型別
- html隨意拖動內容位置的兩種實現方式HTML
- 寶塔兩種方式編寫 crontab 自動任務
- iOS-JSBrigde:JS和Native通訊實現的兩種方式iOSJS
- Native 工程整合Flutter 的兩種方式Flutter
- ubuntu建立使用者的兩種方式Ubuntu
- Java鍵盤錄入的兩種方式Java
- 兩種go傳送郵件的方式Go