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(@"檢測到晃動");
}
}
相關文章
- iOS App中可拆卸一個framework的兩種方式iOSAPPFramework
- 動態代理的兩種方式以及區別
- ChatTTS的兩種使用方式TTS
- IOS橫線滾動檢視的實現---方式二iOS
- 建立Session物件的兩種方式Session物件
- CommonJS的兩種匯出方式JS
- Docker打包映象的兩種方式Docker
- JS 垃圾回收的兩種方式JS
- springboot使用webSocket的兩種方式Spring BootWeb
- 兩種方式實現橫向滾動條
- AUTOCAD——兩種延伸方式
- 一種新的頁面載入時間檢測方式
- 安裝aab包的兩種方式
- HTTP代理的兩種連線方式HTTP
- Native 工程整合Flutter 的兩種方式Flutter
- zabbix agent 的兩種安裝方式
- Ubuntu18.4啟動IntelliJ IDEA 2020.2.2兩種方式UbuntuIntelliJIdea
- 目標檢測兩種常用的資料集COCO和VOC
- 隱藏元素兩種方式
- html隨意拖動內容位置的兩種實現方式HTML
- 寶塔兩種方式編寫 crontab 自動任務
- Python進行開發的兩種方式Python
- SpringBoot 使用ApplicationContext 及 getbean的兩種方式Spring BootAPPContextBean
- Java鍵盤錄入的兩種方式Java
- java json格式化的兩種方式JavaJSON
- 兩種go傳送郵件的方式Go
- php 與 nginx 的兩種處理方式PHPNginx
- React元件方法的兩種定義方式React元件
- ubuntu建立使用者的兩種方式Ubuntu
- java 傳遞引數的兩種方式Java
- JS中資料型別檢測四種方式的優缺點JS資料型別
- Springboot啟動了哪些bean?這兩種方式可以獲取Spring BootBean
- SQL隱碼攻擊的檢測方式有幾種?常用方法介紹!SQL
- iOS Swift 建立代理協議的多種方式iOSSwift協議
- Git提交程式碼倉庫的兩種方式Git
- 易語言執行js的兩種方式JS
- 前端--實現隔行變色的兩種方式前端
- Java執行groovy指令碼的兩種方式Java指令碼
- 在springboot中使用Mybatis Generator的兩種方式Spring BootMyBatis