导航栏重叠信息

时间:2017-09-24 21:03:10

标签: ios swift statusbar navigationbar

我的导航栏有问题,重叠iPhone顶部的信息。我最初的导航栏为白色/半透明,并没有造成问题。我觉得制作黑色会更好,除非现在它与iPhone的时间,电池和数据重叠。如何将导航栏向下移动?

Navigation Bar looks Bad. Need to drop it down

2 个答案:

答案 0 :(得分:2)

您需要创建自定义navigationBar然后添加所需的约束,但这不应该通常通过状态栏中断。您可以尝试更改navigationBar文字的字体大小:

self.navigationController?.navigationBar.titleTextAttributes = [ NSAttributedStringKey.font: UIFont.systemFont(ofSize: 10)]

<强>更新
经过一些澄清之后,您不想完成navigationBar,您只想更改statusBar的颜色(其中包含顶部的所有系统图标)。在viewDidLoad函数中添加这两行以更改您的背景颜色:

if let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as? UIView {
    statusBar.backgroundColor = .white
}

答案 1 :(得分:0)

只需为每个viewController创建此类父类 例如,您有一个SignUpViewController类,目前您的视图控制器将是这样的。

class SignUpViewController: UIViewController {
//Your all methods and properties are implemented here.

}

因此,只需将上述类的父类从UIViewController更改为以下编写的类LargerNavigationBaseVC,就像这样。

class SignUpViewController: LargerNavigationBaseVC {
//Your all methods and properties are implemented here.

}


class LargerNavigationBaseVC: UIViewController {
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.navigationItem.prompt = " "
    }
}