第一个 leftBarButtonItem 隐藏

First leftBarButtonItem is hiding

我使用了 2 个条形按钮项目。一个用于后退按钮,第二个用于标题。它工作正常。但是当标题字符串很大时,标题会向左移动并且不会出现后退按钮,但是可以使用。

我也在使用 rightBarButtonItem,它附有徽章按钮。但这并不影响这一点,因为我在删除该按钮后尝试了相同的代码。这是我的代码 -

let backBtnImg: UIImage = UIImage(named: "Back Image")!
let Back: UIBarButtonItem = UIBarButtonItem(image: backBtnImg, style: .plain, target: self, action: #selector(backButtonAction))

let titleStr = ("titleString")
let titleItem: UIBarButtonItem = UIBarButtonItem(title: titleStr, style: .plain, target: nil, action: nil)
self.navigationItem.leftBarButtonItems = [Back, titleItem]

我附上了两张图片。

用这个对你有帮助

-> 只拿一个左键

-> 标题使用:self.navigationItem.title = "Navigation Title"

 let backBtnImg: UIImage = UIImage(named: "back")!
        let Back: UIBarButtonItem = UIBarButtonItem(image: backBtnImg, style: .plain, target: self, action: #selector(backButtonAction))
        self.navigationItem.title = "Navigation Title"
        self.navigationItem.leftBarButtonItems = [Back]

如果您想在左侧设置标题,请尝试此代码。可能对你有帮助。

viewDidLoad方法中

let navView = UIView(frame: CGRect(x: 0, y: 0, width: (self.navigationController?.navigationBar.frame.size.width)! - 50, height: 40))
    lblTitle = UILabel(frame: CGRect(x: 0, y: 0, width: navView.frame.size.width - 40, height: 40))
    lblTitle?.text = strTitle
    lblTitle?.backgroundColor = UIColor.clear
    lblTitle?.textColor = UIColor.white
    lblTitle?.textAlignment = .left
    navView.addSubview(lblTitle!)
    self.navigationItem.titleView = navView
func setupNevigationBar(){
            let btnBack = UIButton(type: .custom)
            btnBack.setImage(#imageLiteral(resourceName: "back"), for: .normal)
            btnBack.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
            btnBack.addTarget(self, action: #selector(btnBackPressed), for: .touchUpInside)
            let itemBack = UIBarButtonItem(customView: btnBack)

            let titleStr = ("Regular Title")
            let titleItem: UIBarButtonItem = UIBarButtonItem(title: titleStr, style: .plain, target: nil, action: nil)
            self.navigationItem.leftBarButtonItems = [itemBack, titleItem]

            self.navigationItem.setLeftBarButton(itemBack, animated: true)
        }