Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在状态栏顶部创建UISweepGestureRecognitor_Iphone_Cocoa Touch_Statusbar_Uiswipegesturerecognizer - Fatal编程技术网

Iphone 在状态栏顶部创建UISweepGestureRecognitor

Iphone 在状态栏顶部创建UISweepGestureRecognitor,iphone,cocoa-touch,statusbar,uiswipegesturerecognizer,Iphone,Cocoa Touch,Statusbar,Uiswipegesturerecognizer,目前我正在构建一个功能非常丰富的应用程序,我想实现一种由手势识别器触发的“返回”动作。由于屏幕的其余部分已被使用,所以只剩下状态栏 所以问题是,这有可能吗?如果有,怎么可能 提前谢谢 不幸的是,无法检测状态栏上的滑动,因为它是一个完全由操作系统本身控制的组件(类似于多任务托盘或通知中心),不受应用程序的管辖 您可能可以在越狱设备上集成一些东西,但对于标准的iPhone或iPad,没有(也可能永远不会有)与状态栏交互的公共API。您可以在状态栏上方放置一个透明的UIWindow,然后为该ui窗口a

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

所以问题是,这有可能吗?如果有,怎么可能


提前谢谢

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


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

您可以在状态栏上方放置一个透明的
UIWindow
,然后为该
ui窗口
a
uiwipegesturecognitioner

请参见如何在状态栏上添加
ui窗口

具体来说,创建一个
ui窗口,如下所示:

UIWindow *window = [[UIWindow alloc] init];
window.frame = [[UIApplication sharedApplication] statusBarFrame];
window.windowLevel = UIWindowLevelStatusBar + 1.0f;
[window makeKeyAndVisible];
然后将您的
UISweepGestureRecognitor
添加到其中


如果这不能立即工作,您可能必须将
backgroundColor
属性设置为不清晰。Clear
UIViews
pass-through Touch(尽管我认为它们仍然可以与
UIGestureRecognitors

一起使用)对我来说很有效。非常感谢!还值得注意的是,如果你不先在覆盖上调用
resignKeyWindow
,你可能会遇到键盘无法输入文本的问题。