IOS开发 摇晃事件

iOS开发之摇晃事件

iso开发实现摇晃事件

摇晃事件相对简单,视图出现时成为第一响应者,视图移除时取消第一响应者,当称为第一响应者时,添加摇晃事件监听。
摇晃事件监听的方法:

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event NS_AVAILABLE_IOS(3_0);
//UIEventSubtype 对应的枚举的值,    
//UIEventSubtypeMotionShake= 1,此枚举值即为摇晃事件。

typedef NS_ENUM(NSInteger, UIEventSubtype) {
    // available in iPhone OS 3.0
    UIEventSubtypeNone                              = 0,
    // for UIEventTypeMotion, available in iPhone OS 3.0
    UIEventSubtypeMotionShake                       = 1,
    // for UIEventTypeRemoteControl, available in iOS 4.0
    UIEventSubtypeRemoteControlPlay                 = 100,
    UIEventSubtypeRemoteControlPause                = 101,
    UIEventSubtypeRemoteControlStop                 = 102,
    UIEventSubtypeRemoteControlTogglePlayPause      = 103,
    UIEventSubtypeRemoteControlNextTrack            = 104,
    UIEventSubtypeRemoteControlPreviousTrack        = 105,
    UIEventSubtypeRemoteControlBeginSeekingBackward = 106,
    UIEventSubtypeRemoteControlEndSeekingBackward   = 107,
    UIEventSubtypeRemoteControlBeginSeekingForward  = 108,
    UIEventSubtypeRemoteControlEndSeekingForward    = 109,
};

创建单视图应用:

  1. 新建一个UIVew(shakeView),让ViewController的根视图为新建的UIVew
  2. shakeView添加: canBecomeFirstResponder方法,使其成为第一响应者。

详细实现代码:

/*
    1.在视图出现在屏幕时,让视图变成第一响应者
    2.当视图离开屏幕时,应用关闭或者切换到其他视图时,注销第一响应者身份
    3.监听摇晃事件
 */
- (void)viewDidAppear:(BOOL)animated
{
    [self.view becomeFirstResponder];
}
- (void)viewDidDisappear:(BOOL)animated
{
    [self.view resignFirstResponder];
}
#pragma mark - 监听运动事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    if (UIEventSubtypeMotionShake ==motion) {
        NSLog(@"The view is shake.");
    }
}

在模拟器中 摇晃是在:Handware->shake Gesture.

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

相关阅读更多精彩内容

  • -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实...
    翘楚iOS9阅读 8,169评论 0 13
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 11,315评论 4 26
  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 59,005评论 51 604
  • 有些歌,一听就能听很多次;有些人,一陪就陪伴了好几年。 今年似乎真的是幸福年,我们的男神女神纷纷找到了自己的归属。...
    一只森女阅读 5,672评论 6 12
  • 婚姻这个词对于我这个九零后一点也不陌生,身边的人陆陆续续的进去,偶尔也有人出来。我今天想写下我对婚姻的理解和印象。...
    微微的微笑66阅读 1,355评论 2 3

友情链接更多精彩内容