|
|
1
155
以下是我一直在寻找的答案: 让您的应用程序委托子类UIApplication。在实现文件中,重写sendEvent:方法,如下所示:
|
|
|
2
88
我有一个空闲计时器解决方案的变体,它不需要对UIApplication进行子类化。它适用于特定的UIViewController子类,因此,如果您只有一个视图控制器(如交互式应用程序或游戏),或者只想处理特定视图控制器中的空闲超时,那么它非常有用。 它也不会在每次重置空闲计时器时重新创建NSTimer对象。只有当计时器启动时,它才会创建一个新的。
你的代码可以调用
(为了简洁起见,排除了内存清理代码。) |
|
|
3
23
对于swift V3.1 别忘了在AppDelegate中注释这一行 //@UIApplicationMain
在任何其他类中观察通知
|
|
|
4
12
要点如下: 此外,UIApplication子类问题的原因是NIB被设置为创建2个UIApplication对象,因为它包含应用程序和委托。UIWindow子类工作得很好。 |
|
5
5
实际上,子类化的想法非常有效。只是不要让你的代表成为
瞧! |
|
|
6
4
|
|
|
7
4
以下是检测活动的另一种方法:
|
|
|
8
4
有一种方法可以在整个应用程序范围内执行此操作,而无需单个控制器执行任何操作。只需添加一个不会取消触摸的手势识别器。这样,计时器将跟踪所有触摸,而其他触摸和手势根本不受影响,因此其他人不必知道。
|
|
|
9
3
最终,您需要定义您认为闲置的是空闲的,如果不使用计算资源,用户不触摸屏幕的结果还是系统的状态?在许多应用中,即使用户没有通过触摸屏主动与设备交互,用户也有可能正在做一些事情。虽然用户可能熟悉设备进入睡眠状态的概念,并注意到它将通过屏幕变暗发生,但如果他们空闲,他们不一定会期望发生一些事情-您需要小心您将要做的事情。但是回到最初的陈述——如果你认为这第一个案例是你的定义,那么就没有一个简单的方法来做到这一点。您需要接收每个触摸事件,根据需要在响应器链上传递它,同时记录接收时间。这将为您进行空闲计算提供一些基础。如果你认为第二种情况是你的定义,那么你可以玩NSPStWORD空闲通知来尝试并在那时执行你的逻辑。 |
|
|
10
0
|
|
|
George Kim · 如何在iOS中模拟特定坐标空间中的触摸? 2 年前 |
|
|
BENG · 协调C++和Objective-C中结构的填充 2 年前 |
|
|
Community wiki · iPhone上ivar的继承问题 3 年前 |
|
|
Community wiki · 在OpenGL中显示YUV 3 年前 |
|
|
YosiFZ · pod更新依赖关系pod 3 年前 |
|
|
Community wiki · 查找iOS日历 3 年前 |