iOS「摇一摇」功能的实现

iOS 系统在 UIResponder 类中提供了一个摇一摇的实现方法,大体实现思路为: 想让哪个 VC 实现摇一摇方案,将该 VC 变为第一响应者即可;

在 UIResponder 类中提供了三个摇一摇的实现方法: 三个方法一次为: 开始摇一摇、结束摇一摇、取消摇一摇

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);

在viewDidLoad 中执行以下方法

- (void)viewDidLoad {  
[super viewDidLoad];  
// 设置允许摇一摇功能  
[UIApplication sharedApplication].applicationSupportsShakeToEdit = YES;  
// 并让自己成为第一响应者  
[self becomeFirstResponder];  
return;  
}

摇一摇相关方法:

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
NSLog(@"开始摇动");  
return;  
}  

- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
NSLog(@"取消摇动");  
return;  
}  

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {  
if (event.subtype == UIEventSubtypeMotionShake) { // 判断是否是摇动结束  
    NSLog(@"摇动结束");  
}  
return;  
}  

另外:在模拟器中运行时,可以通过「Hardware」-「Shake Gesture」来测试「摇一摇」功能

注意: 一定要在运行时才能调用 「Hardware」
注意: 一定要在运行时才能调用 「Hardware」
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容