2

このコードappDelegateは私のアプリを奇妙に振る舞わせます

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.windowLevel = UIWindowLevelStatusBar + 1;
    return YES;
}

関数からキーボードを[myTextView resignFirstResponder]非表示にすると、キーボードがビューの下に表示されなくなり、本来のようにスライドしなくなります。

これを変更する最良の方法は何ですか?なぜUIWindowLevelStatusBar + 1すべてのアプリ構造を台無しにするのですか?

編集:

私がやろうとしているのは、の上にビューを作成することですstatusBar。これを行うために間違った方法で設定UIWindowLevelStatusBar + 1していますか?appDelegate

4

3 に答える 3

2

男、私はこれが2歳であることを知っていますが、ここに行きます:

iOS 7および8で動作し、9ベータではテストされていません。

ステータスバーにティッカーを追加しています。ええ、私はアップルがそれを好きではないことを知っています、しかしユーザーはそれをどこか他の場所で使うことを選ぶことができます。

アプリDelegateで、ステータスバーの内容(キャリア、時間、バッテリー)を非表示にする場合は、次のように呼び出します。

self.window.windowLevel = UIWindowLevelStatusBar+1;

Ok

問題は、コンテンツを元に戻す方法を理解することでしたね。それも私の問題でした。ここにあります:

self.window.windowLevel = UIWindowLevelStatusBar-1;

さよなら

于 2015-07-31T21:52:46.117 に答える
1

キーボードもウィンドウ内に存在し(画面上のすべてのものが存在します)、そのウィンドウのレベルはウィンドウのレベルよりも低くなっています。

なぜウィンドウレベルをそれほど高く設定しているのですか?達成しようとしていることを教えていただければ、別のアプローチを提案できる場合があります。

于 2012-12-25T15:07:55.400 に答える
0

ステータスバーを非表示にし、ナビゲーションバーのフレームを設定します。

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];
于 2014-08-08T07:33:32.937 に答える