如何在iOS13的状态栏上叠加视图

时间:2019-08-13 02:12:02

标签: statusbar ios13

fileprivate lazy var netTipWindow:UIWindow = {
        let window = UIWindow(frame: CGRect(x: 0, y: topMargins, width: UIScreenW, height: realheight))
        window.backgroundColor = .clear
        window.windowLevel = .alert
        window.isHidden = false
        window.rootViewController = UIViewController()
        window.rootViewController?.view.addSubview(self)
        frame = CGRect(x: 0, y: -(topMargins + realheight), width: UIScreenW, height: realheight)
        return window
    }()

“我的代码”在ios 12中效果很好,但其效果与图片类似。

此外,我尝试了这段代码,没有区别

    fileprivate lazy var netTipWindow:UIWindow = {
        let window = UIWindow(frame: CGRect(x: 0, y: topMargins, width: UIScreenW, height: realheight))
        window.backgroundColor = .clear
        window.windowLevel = .alert
        window.isHidden = false
        if #available(iOS 13, *) {
            window.addSubview(self)
        } else {
            window.rootViewController = UIViewController()
            window.rootViewController?.view.addSubview(self)
        }
        frame = CGRect(x: 0, y: -(topMargins + realheight), width: UIScreenW, height: realheight)
        return window
    }()

iOS 13 status bar

1 个答案:

答案 0 :(得分:-1)

此代码。...

- (BOOL)prefersStatusBarHidden {
    if (@available(iOS 13.0, *)) {
        // safearea iPhone x, xr ..
        if ([[[UIApplication sharedApplication] delegate] window].safeAreaInsets.top > 20.0) {
            return NO;
        }
        else {
            return YES;
        }
    }
    else {
        return NO;
    }
}