【发布时间】:2014-06-02 18:58:02
【问题描述】:
在显示我自己的自定义警报时,我目前正在向我的应用添加一个新的 UIWindow。
在添加此 UIWindow 之前,我的应用隐藏了状态栏,但现在它是可见的。如何在这个新窗口中以编程方式隐藏状态栏。我已经尝试了所有方法,但它不起作用。
这就是我添加 UIWindow 的方式:
notificationWindow = [[UIWindow alloc] initWithFrame: CGRectMake(0, 0, 1.0, 1.0)];
notificationWindow.backgroundColor = [UIColor clearColor]; // your color if needed
notificationWindow.userInteractionEnabled = NO; // if needed
// IMPORTANT PART!
notificationWindow.windowLevel = UIWindowLevelAlert + 1;
notificationWindow.rootViewController = [UIViewController new];
notificationWindow.hidden = NO; // This is also important!
[notificationWindow addSubview:confettiView];
【问题讨论】:
-
如何隐藏状态栏?我试过“[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];”一切正常。
-
我试过这样做,但状态栏仍然显示。当我将 windowLevel 更改为 UIWindowStatusBar 时,它会消失,但 UIAlertView 始终位于顶部。
-
@iwasrobbed 这个问题被标记为 Objective-C,而不是 Swift。请不要更改问题的含义或范围,只是为了让它与您的新答案相匹配。如果您对此问题有答案,可以按照 OP 的要求发布 Objective-C 版本。讨论元:meta.stackoverflow.com/questions/311285/…
标签: objective-c uiviewcontroller statusbar uiwindow