iOS 11自定义导航栏提供两个栏

时间:2017-09-23 20:18:35

标签: ios

当我尝试将自定义UINavigationBar添加到像这样的视图控制器

class ViewController: UIViewController
{
    static let nav_bar_height: CGFloat = 64

    let nav_bar: UINavigationBar =
    {
        let nav_bar = UINavigationBar()
        nav_bar.translatesAutoresizingMaskIntoConstraints = false
        nav_bar.backgroundColor = .blue
        return nav_bar
    }()

    override func viewDidLoad()
    {
        super.viewDidLoad()
        view.backgroundColor = .yellow
        view.addSubview(nav_bar)
        nav_bar.heightAnchor.constraint(equalToConstant: ViewController.nav_bar_height).isActive = true
        nav_bar.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        nav_bar.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        nav_bar.widthAnchor.constraint(equalToConstant: UIScreen.main.bounds.width).isActive = true

    }
}

出现两个不同的栏。 Tor-Request Documentation

为什么有高度较小的白色条纹?

这是AppDelegate

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow(frame: UIScreen.main.bounds)
        window?.makeKeyAndVisible()
        let vc = ViewController()
        window?.rootViewController = vc
        // Override point for customization after application launch.
        return true
    }...

1 个答案:

答案 0 :(得分:0)

您可能在导航界面中使用UINavigationController作为视图控制器的父级。

所以第二个导航栏是UINavigationController的导航栏。

相关问题