すでにUIImagePickerが表示されているときに、新しいウィンドウを手動で画面に追加しようとすると問題が発生します。目的は、現在のステータスバーを新しいものに置き換えます。それで、私はそれに表示されるコンテンツを制御することができます。追加した後UIImagePickerを表示するときに新しいウィンドウを追加する
、UIImagePickerは却下されており、提示画面はありません、ステータスバーと新しいステータスバーに表示されます。ここで私が期待したものである:
そしてここでは私のコード、コード
_newWindow = [[UIWindow alloc] initWithFrame:[UIApplication sharedApplication].statusBarFrame];
UIView *_newView = [[[NSBundle mainBundle] loadNibNamed:@"NewStatusView" owner:self options:nil] firstObject];
_newView.frame = [UIApplication sharedApplication].statusBarFrame;
[_newWindow addSubview:_newView];
_newWindow.rootViewController = [UIApplication sharedApplication].keyWindow.rootViewController;
_newWindow.windowLevel = UIWindowLevelAlert + 1;
_newWindow.hidden = NO;
更新の単純な数行で
私が作成したいですすべてのビューコントローラ、イメージピッカー、アラートコントローラ、提示されたビューコントローラなどの上に表示される赤いゾーンすべてのプロジェクト画面に表示されます。だから私はそれのために新しいウィンドウを使用することに決めました。
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
その下にビューを追加する必要はありません:あなたは/表示するには、このメソッドを使用することができます
新しいビューだけでなく、新しいウィンドウを追加したいのはなぜですか? –
@ David'mArm'Ansermot bcos私はアプリケーション画面全体に新しいステータスバーを表示したい – crz
ビュー上でステータスバーを有効/無効にすることができます; –