使用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")
}
答案 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);
}
尚未测试代码,所以我希望它能正常工作