1

我目前正在构建一个功能非常丰富的应用程序,我想实现一种由手势识别器触发的“返回”动作。由于屏幕的其余部分已被使用,唯一剩下的地方是状态栏。

所以问题是,它甚至可能吗?如果可以,怎么办?

提前致谢!

4

2 回答 2

2

您可以在状态栏上方放置一个透明UIWindow的,然后给它UIWindow一个UISwipeGestureRecognizer.

请参阅MTStatusBarOverlay了解如何UIWindow在状态栏上添加一个。

具体来说,创建一个UIWindow这样的:

UIWindow *window = [[UIWindow alloc] init];
window.frame = [[UIApplication sharedApplication] statusBarFrame];
window.windowLevel = UIWindowLevelStatusBar + 1.0f;
[window makeKeyAndVisible];

然后添加你UISwipeGestureRecognizer的。

如果这不能立即起作用,您可能必须将该backgroundColor属性设置为不清晰。清晰UIViews的通过触摸(尽管我相信它们仍然应该与UIGestureRecognizers.

于 2012-11-15T03:04:14.350 回答
0

不幸的是,无法检测到状态栏上的滑动,因为它是完全由操作系统本身控制的组件(类似于多任务托盘或通知中心),并且不受应用程序的管辖。

您也许可以在越狱设备上将一些东西放在一起,但对于标准 iPhone 或 iPad,没有(并且可能永远不会)用于与状态栏交互的公共 API。

于 2012-11-15T02:56:41.910 回答