Swift状态栏高度变化

时间:2017-12-05 14:33:54

标签: ios swift statusbar whatsapp hotspot

使用Xcode 8和Swift 2.3。

在我的应用程序中,当我收到WhatsApp电话或启用热点时,
状态栏高度变化和对齐方式会发生变化。

当状态栏高度发生变化时,如何刷新屏幕,
因此屏幕会被调整。

我遇到了这两个委托方法,但不知道如何将其用于我的要求。

func application(application: UIApplication, didChangeStatusBarFrame oldStatusBarFrame: CGRect)
{
    print("Frame Change old")
}

func application(application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect)
{
    print("Frame Change new")


}

1 个答案:

答案 0 :(得分:0)

如果我没弄错的话,必须将这些代表添加到AppDelegate.swift中。

然后,您需要调整窗口大小,将此代码放在新状态栏委托

if let window = self.window {
    window.clipsToBounds = true
    window.frame = CGRect(x: 0, y: newStatusBarFrame.size.height, width: window.frame.size.width, height: window.frame.size.height);
    window.bounds = CGRect(x: 0, y: 0, width: window.frame.size.width, height: window.frame.size.height);
}

尚未测试代码,所以我希望它能正常工作