2010-09-29 126 views
2

在我的应用程序中,我想设置非活动超时(IdleTime)。如何捕获应用程序不活动iphone中的时间

我该如何设置?

有没有办法监控myappdelegate中的所有事件?

例如,我有两个UIViewController类。

当我点击UIViewController1UIViewController2一个控制应该由myappdelegate

回答

1

进行监测,以监测应用中的所有用户交互事件,你可以使用一个UIWindow子类。实现它sendEvent:方法:

- (void)sendEvent:(UIEvent*)event { 
    [super sendEvent:event]; 
     // Process event or just reset inactivity time 
} 

要在应用中使用它,你需要打开应用程序的主厦门国际银行(例如MainWindow.xib中)和设置自定义类型的UIWindow实例存在。

0

我可能会建立一个单身对象来监视它。将该功能与视图或窗口相混淆,在语义上是泥泞的。

该类可以称为“EventTracker”或类似的东西。

它的界面可以很简单:

-(int)secondsSinceLastActivity 

-(void)resetActivityTimer 

-(EventTracker *)instance 

在任何地方你的应用程序,你可以调用[EventTracker实例]来获得单个对象,检查时间或重新设置时间。

这将允许最大的可扩展性。

相关问题