在状态栏上创建UISwipeGestureRecognizer

时间:2012-11-14 21:25:06

标签: iphone cocoa-touch statusbar uiswipegesturerecognizer

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

所以问题是,它是否可能,如果是这样的话?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您可以在状态栏上方放置一个透明的UIWindow,然后将UIWindow UISwipeGestureRecognizer设为UIWindow

有关如何在状态栏上添加UIWindow的信息,请参阅MTStatusBarOverlay

具体来说,像这样创建一个UIWindow *window = [[UIWindow alloc] init]; window.frame = [[UIApplication sharedApplication] statusBarFrame]; window.windowLevel = UIWindowLevelStatusBar + 1.0f; [window makeKeyAndVisible];

UISwipeGestureRecognizer

然后将backgroundColor添加到其中。

如果这不起作用,您可能必须将UIViews属性设置为不清除。清除UIGestureRecognizers通过触摸(虽然我相信它们仍然适用于{{1}}。

答案 1 :(得分:0)

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

您可以在越狱设备上拼凑一些东西,但对于标准iPhone或iPad,没有(可能永远不会)公共API与状态栏进行交互。