美文网首页
触摸事件

触摸事件

作者: FallPine | 来源:发表于2016-11-16 15:07 被阅读8次

能执行触摸事件的类有一个共同的特点:都继承于UIResponder
因为UIView和UIViewController都继承于UIResponder,而几乎所有的控件都继承UIView,所以,控件都能执行触摸事件

触摸事件比较简单,只要实现三个方法就行:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"Start touch.");
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"Moving...");  
}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"Touch end.");
}
  • 触摸事件不执行的情况有:
    1. userInteractionEnabled=NO
    2. hidden=YES
    3. alpha=0~0.01
    4. 没有实现开始触摸方法(注意是touchesBegan:withEvent:而不是移动和结束触摸事件)

前三点都是针对UIView控件或其子控件而言的,第四点可以针对UIView也可以针对视图控制器等其他UIResponder子类。对于第四种情况这里再次强调是对象中重写了开始触摸方法,则会处理这个事件,如果仅仅写了移动、停止触摸或取消触摸事件(或者这三个事件都重写了)没有写开始触摸事件,则此事件该对象不会进行处理。

这篇文章参考至:【Kenshin Cui's Blog】【iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控】

相关文章

网友评论

      本文标题:触摸事件

      本文链接:https://www.haomeiwen.com/subject/lldrpttx.html