Iphone &引用;UIWindowLevelStatusBar+;1“;奇怪的键盘行为

Iphone &引用;UIWindowLevelStatusBar+;1“;奇怪的键盘行为,iphone,objective-c,ios,cocoa-touch,uiwindow,Iphone,Objective C,Ios,Cocoa Touch,Uiwindow,appDelegate中的此代码使我的应用程序行为异常 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window.windowLevel = UIWindowLevelStatusBar + 1; return YES; } 当将键盘隐藏在函数[myTextView resignFirstRe

appDelegate
中的此代码使我的应用程序行为异常

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.windowLevel = UIWindowLevelStatusBar + 1;
    return YES;
}
当将键盘隐藏在函数
[myTextView resignFirstResponder]
下时,我的键盘将消失在视图下,而不是像应该的那样向下滑动

改变这一点的最佳方式是什么?为什么
UIWindowLevelStatusBar+1
会弄乱所有的应用程序结构

编辑:


我要做的是在状态栏的顶部创建一个视图。在
appDelegate
中设置
UIWindowLevelStatusBar+1
是否是一种错误的方法?

键盘也存在于窗口中(屏幕上的所有内容都存在),并且该窗口的级别低于您的窗口


你为什么把你的窗口设置得这么高?如果您告诉我们您试图实现的目标,我们可能会建议另一种方法。

隐藏状态栏,并将导航栏的框架设置为“简单”

CGRect statusFrame = [UIApplication sharedApplication].statusBarFrame;
[[UIApplication sharedApplication] setStatusBarHidden:YES];
self.navigationController.navigationBar.frame = CGRectMake(0, statusFrame.size.height, 320,46);
[[AppDelegate instance].window addSubview:statusView];

老兄,我知道这是2岁的孩子,但事情是这样的:

适用于iOS 7和8,未在9个Beta上测试

我正在状态栏中添加一个标记。是的,我知道苹果不喜欢它,但用户可以选择在那里或其他地方使用它

在应用程序代理中,当您想隐藏状态栏的内容(承运人、小时、电池)时,您可以调用:

self.window.windowLevel = UIWindowLevelStatusBar+1;

问题是想办法把里面的东西拿回来,对吗?这也是我的问题。这是:

self.window.windowLevel = UIWindowLevelStatusBar-1;

再见

查看我的编辑。也许我们可以把键盘放在更高的层次上?但你为什么要这么做?这里的实际目标是什么?创建一个可以覆盖状态栏的视图,在保持正常键盘滑动/消失行为的同时在状态栏上显示某些内容。是的,我知道了,但是你为什么要这么做呢?为了能够在状态栏上放置一些内容,当这些内容消失时,我想在那里有一个状态栏。盖上它什么的。不管怎么说,现在我正试图找到解决键盘问题的方法。能解决吗?