有个需求需要判断使用者是否有手指放在屏幕上。
貌似没有这样的方法。
(void)touchesBegan:(NSSet<UITouch > )touches withEvent:(UIEvent *)event{
}
-(void)touchesEnded:(NSSet<UITouch > )touches withEvent:(UIEvent *)event {
}
-(void)touchesMoved:(NSSet<UITouch > )touches withEvent:(UIEvent *)event {
}
不知道题主是不是说的这个
判断当前 runloop时候处于tracking mode,如果是,就代表有手指在触碰屏幕
在 AppDelegate.m 里面添加下面的方法
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
NSLog(@"开始触摸");
}
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
NSLog(@"结束触摸");
}
Swift写法
如果是全局的话添加到AppDelegate.swift
如果是某个视图的话添加到对应的ViewController.swift
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
print("开始触摸")
}
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
print("结束触摸")
}
重写Touches的几个方法,Begin开始,End结束