2017-06-02 5 views
0

Ich schaffte es, die Höhe meiner Navigationsleiste zu erhöhen, aber ich konfrontiert mit dem Problem, dass Titel und Schaltflächen befinden sich im unteren Bereich der Navigationsleiste.Center-Navigationsleiste Ansichten vertikal

extension UINavigationBar { 

    open override func sizeThatFits(_ size: CGSize) -> CGSize { 
     let v = self.value(forKey: "frame") as? CGRect 
     return v?.size ?? CGSize(width: UIScreen.main.bounds.width, height: 44) 
    } 

} 

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 
    navigationBar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: 64) 
} 

enter image description here

ich Offset einzustellen versucht,

mit
navigationBar.setTitleVerticalPositionAdjustment(-10, for: .default) 
navigationItem.leftBarButtonItem?.setBackgroundVerticalPositionAdjustment(-10, for: .default) 
navigationItem.rightBarButtonItem?.setBackgroundVerticalPositionAdjustment(-10, for: .default) 
navigationItem.rightBarButtonItem?.setBackButtonBackgroundVerticalPositionAdjustment(-10, for: .default) 
navigationItem.leftBarButtonItem?.setBackButtonBackgroundVerticalPositionAdjustment(-10, for: .default) 

Eigentlich nur diese Einstellung zu meinem Titel gelten, und die Position der Symbolleiste bleibt gleich.

Aber ich denke nicht, dass meine Lösung die beste ist.

+0

warum nicht zeigen Ihnen, wie genau haben Sie die Navigationsleiste Höhe zu erhöhen? –

+0

Paar Links in den Kommentaren zu dieser Frage können hilfreich sein: https://stackoverflow.com/questions/44181264/move-navigationbars-left-and-right-barbuttonitems-vertically-upwards – DonMag

Antwort

0

Es ist keine gute Übung, die Größe der Navigationsleiste zu erhöhen. Stattdessen können Sie direkt unter der Navigationsleiste eine eigene Ansicht mit der gleichen Farbe hinzufügen und den Rand der Navigationsleiste entfernen, um die Höhe zu erhöhen. Hier ist ein Beispiel, wie Yelp es macht. enter image description here