Increase NavigationBar height

前端 未结 2 656
死守一世寂寞
死守一世寂寞 2020-12-02 00:54

I have the following code:

func navbarbutton() {
    UIView.animateWithDuration(0.2, animations: { () -> Void in
        let current = self.navigationCont         


        
2条回答
  •  囚心锁ツ
    2020-12-02 01:20

    Try this code:

    Note: Code tested in Swift 3.

    Answer 1: Updated Answer

    class ViewController: UIViewController {
    
    var customBar: UINavigationBar = UINavigationBar()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    
        //Title
        title = "Some Title"
    
        // Add bar button item
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action:  #selector(addTapped))
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(addTapped))
    
        self.customBar.frame = CGRect(x:0, y:0, width:view.frame.width, height:(navigationController?.navigationBar.frame.height)! + 50)  
        self.customBar.backgroundColor = UIColor.green
        self.view.addSubview(customBar)
    }
    
    func addTapped() {
    
        print("Button Pressed")
    
    }
    

    Output:


    Answer 2:

    override var isViewLoaded: Bool {
    
        // Add bar button item
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action:  #selector(addTapped))
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: self, action: #selector(addTapped))
    
        //Vertical and Horizonal barButtonItem position offset
        navigationItem.leftBarButtonItem?.setTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: 20), for: UIBarMetrics.default)
    
        navigationItem.rightBarButtonItem?.setTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: 20), for: UIBarMetrics.default)
    
        return true
    }
    
    func addTapped() {
    
        print("Button Pressed")
    
    }
    

    Note: Above code only works in isViewLoaded: Bool method.But, No luck.When, I tried this code in other viewLoad method.

    Output 1: barButtonItem moved 20 pixel up vertically.

    Output 2: barButtonItem moved 20 pixel down vertically.

    Hope, Above code fix your problem.

提交回复
热议问题