小编Run*_*ara的帖子

iOS9:自定义UIWindow使状态栏消失

当我在iOS9中创建自定义UIWindow时,窗口会在屏幕上显示,但状态栏突然消失.

当窗口隐藏时,状态栏会再次出现.

下面是我在iOS9上使用Xcode7 beta5获得的2个截图.

隐藏自定义窗口时的状态栏: 隐藏自定义窗口时的状态栏

自定义窗口可见时的状态栏: 自定义窗口可见时的状态栏 (整个屏幕移到顶部.)

这是我正在使用的代码(在iOS8上运行良好):

#define DEBUG_SHOWENV_HEIGHT 20.0f

@interface AppDelegate ()
@property (nonatomic) UIWindow*     envWindow;
@end

-(UIWindow*)envWindow
{
    if (_envWindow == nil)
    {
        // Create the window
        _envWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0.0f, self.window.frame.size.height, self.window.frame.size.width, DEBUG_SHOWENV_HEIGHT)];
        _envWindow.rootViewController = [[UIViewController alloc] init]; // added since iOS9 to avoid the assertion
        _envWindow.userInteractionEnabled = NO;
        _envWindow.windowLevel = UIWindowLevelStatusBar;
        _envWindow.backgroundColor = [UIColor colorWithRed:0.243 green:0.471 blue:0.992 alpha:0.8];

        // Make a label
        UILabel* labelEnv = [[UILabel alloc] initWithFrame:CGRectMake(8.0f, 0.0f, _envWindow.bounds.size.width - 16.0f, DEBUG_SHOWENV_HEIGHT)];
        labelEnv.font …
Run Code Online (Sandbox Code Playgroud)

statusbar uiwindow ios ios9

8
推荐指数
1
解决办法
4013
查看次数

标签 统计

ios ×1

ios9 ×1

statusbar ×1

uiwindow ×1