在 iOS swift 中设计导航栏

Design navigation bar in iOS swift

我想设计一个像这样的导航View。

1.左侧菜单,中心标题

2。左侧菜单,旁边是图片,左侧按钮

我正在尝试添加这样的按钮,但按钮显示不正确

func addMenuButton(){

        let btn_menu = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 44))
        btn_menu.addTarget(self, action: #selector(self.refreshBtnClicked), for: .touchUpInside)
        btn_menu.setImage(#imageLiteral(resourceName: "ic_menu"), for: .normal)
        btn_menu.setImage(#imageLiteral(resourceName: "ic_menu"), for: .selected)
        self.navigationController?.navigationItem.leftBarButtonItems = [UIBarButtonItem(customView: btn_menu)]
    }

这样试试

 func addMenuButton(){

    let leftBarButtonItem : UIBarButtonItem? =  UIBarButtonItem(image: #imageLiteral(resourceName: "ic_menu"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(refreshBtnClicked))
    self.navigationController?.navigationItem.leftBarButtonItem = leftBarButtonItem;

  }
let titleLabel = UILabel()
titleLabel.text = "Main Controller"
titleLabel.frame = self.navigationController!.view.frame
titleLabel.textAlignment = .left
self.navigationItem.titleView = titleLabel
self.navigationItem.leftBarButtonItem = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(tapped))
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .save, target: self, action: #selector(tapped))
//Option 1
self.title = "Title Here"
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "menu"), style: .plain, target: self, action: #selector(menuBtnAction(_:)))
//Option 2
let plusBtn = UIBarButtonItem(image: UIImage(named: "plus"), style: .plain, target: self, action: #selector(plusBtnAction(_:)))
let logoView = UIImageView(image: UIImage(named:"ins"))
logoView.translatesAutoresizingMaskIntoConstraints = false
logoView.widthAnchor.constraint(equalToConstant: 180).isActive = true
self.navigationItem.leftBarButtonItems = [plusBtn,UIBarButtonItem(customView: logoView)]