近期在项目中有一个需求是:10秒钟内如果用户没有跟屏幕发生交互则提示一下用户。
经过google和实践找到一种实现方法步骤如下:
1.让AppDelegate继承UIApplication而不是UIResponser。
2.重载sendEvent方法。
- (void)sendEvent:(UIEvent *)event
{
[super sendEvent:event];//这里一定不能漏掉,否则app将不能成功启动。
NSSet *allTouches = [event allTouches];
if ([allTouches count] > 0)
{
UITouchPhase phase = ((UITouch *)[allTouches anyObject]).phase;
if (phase == UITouchPhaseBegan)
NSLog(@"send event");
}
}
3.为了能让继承了UIApplication的AppDelegate起作用,需要将main.m中的更改为:
return UIApplicationMain(argc, argv, NSStringFromClass([AppDelegate class]), NSStringFromClass([AppDelegate class]));
http://blog.csdn.net/yiyunhzy/article/details/25036971