微信摇一摇插件ios_iOS开发——全局响应MotionEvent(微信摇一摇)
遇到这样一个需求:应用无论处于哪个view controller,摇动手机,都能够出发某一方法。
能够想到的思路就是用苹果封装好的“MotionEvent”,但是如果简单的把一下代码加到某一view controller中,那么只有在该view controller展示在前端时,摇动手机才会出发方法。
- (BOOL)canBecomeFirstResponder {//默认是NO,所以得重写此方法,设成YES
return YES;
}
然后实现下列方法://很像TouchEvent事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
NSLog(@"shake");
}
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
解决方法:用Category扩展UIWindow,代码如下:
UIWindow+.h
#import
#define UIEventSubtypeMotionShakeNotification @"UIEventSubtypeMotionShakeNotification"
@interface UIWindow (Motion)
// @override
- (BOOL)canBecomeFirstResponder;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
@end
UIWindow+.m
#import "UIWindow+.h"
@implementation UIWindow (Motion)
- (BOOL)canBecomeFirstResponder {//默认是NO,所以得重写此方法,设成YES
return YES;
}
然后实现下列方法://很像TouchEvent事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
NSLog(@"shake");
}
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
}
@end
播放音效:
SystemSoundID soundID;
NSString *path = [[NSBundle mainBundle] pathForResource:@"glass" ofType:@"wav"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);
微信摇一摇插件ios_iOS开发——全局响应MotionEvent(微信摇一摇)相关推荐
- 微信小程序地图插件系列(二):微信小程序使用百度地图(不定期补充知识点)
前言 当我们在使用一些地图相关软件的情况下,他会显示选择那种.一般都有高德地图,百度地图等.那么我们在微信小程序中也想使用这种功能需要怎么办呢? 本文地址链接 微信小程序-百度地图SDK官方文档 微信 ...
- 微信商城二次开发php,php版微信小店API二次开发及使用示例-微信开发
本文实例讲述了php版微信小店API二次开发及使用方法.分享给大家供大家参考,具体如下: 1. weixiaodian.php页面: class wXd { public $AppID = " ...
- 微信开放JS-SDK,助力网页开发[转自微信官方]
为什么80%的码农都做不了架构师?>>> 微信公众平台今日面向开发者开放微信内网页开发工具包(微信JS-SDK). 通过微信JS-SDK提供的11类接口集,开发者不仅能够在网页 ...
- (保姆教程及高级玩法及坑)微信同声传译插件-语音识别
目录 一.背景 二.效果 编辑 三.保姆级教程 3.1 小程序后台添加插件:微信同声传译 3.1.1 设置 -> 第三方设置 -> 添加插件 3.1.2 搜索插件 3.1.3 成功添加后 ...
- 微信小程序购物商城系统开发系列-工具篇
微信小程序购物商城系统开发系列-工具篇 微信小程序开放公测以来,一夜之间在各种技术社区中就火起来啦.对于它 估计大家都不陌生了,对于它未来的价值就不再赘述,简单一句话:可以把小程序简单理解为一个新的操 ...
- 微信小程序开发系列七:微信小程序的页面跳转
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列六:微信框架API的调用
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列五:微信小程序中如何响应用户输入事件
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
- 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 这个教程的前两篇文章,介绍了如何 ...
- 微信订水水站小程序开发有哪些作用
微信订水水站小程序开发有哪些作用 微信订水送水小程序是通过小程序进行在线订水,改变过去人们通过电话订水的复杂的过程,开发微信订水小程序不仅可以方便用户订购水,纯净水企业通过还可以互联网改善商店管理. ...
最新文章
- 德国版“非升即走”引发学界震荡!“临时工”干12年也难获教职,网友:全世界都在卷...
- tracepro应用实例详解_建筑安装工程造价,高清PPT图文详解,小白也能学会的简单步骤...
- java之集合框架一Collection接口
- 内存管理中的几种地址类型
- 基于simulink的QAM-WIMAX的系统仿真
- python字典新的定义方式
- SCART接口保护 ESD二极管选型
- 3.odoo13之跟着官网做项目/实例(模型关联,模型类模型表的关联)
- 战网服务器修改 win8,如何修改战网客户端?修改战网客户端的方法
- python socket recvfrom_Python socket学习笔记(一)
- postgresql两个列模糊比较_数据分析之SQL优化系列(二)---PostgreSQL 的索引
- 字符串乘一个数_【思维拓展】三位数乘两位数,构造最大积和最小积
- 【数字逻辑设计】组合电路
- 一般纳米材料是指尺度为_纳米是什么米?什么是纳米材料?(1)
- Google帝国研究——Google的产业构成
- 手机就能申请摇号 杭州市小客车摇号功能全新上线
- c语言int转换为bytes,__c语言__整型、实型的存储(十进制转二进制)
- 网络协议 -- ARP和RARP协议
- js版梅森旋转生成随机数
- docker环境安装jira(Linux系统)