第一个 leftBarButtonItem 隐藏
Posted
技术标签:
【中文标题】第一个 leftBarButtonItem 隐藏【英文标题】:First leftBarButtonItem is hiding 【发布时间】:2018-07-13 05:55:05 【问题描述】:我使用了 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.title? 意思是 565 隐藏后退箭头,对吗? @SaurabhJain 看看第二张图片。长标题隐藏了返回箭头。 @mojtabaalmoussawi 因为我不想把它放在中间。 【参考方案1】:如果您想在左侧设置标题,请尝试此代码。可能对你有帮助。
在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
【讨论】:
我没有 15 个声望。所以,我的选票没有被计算在内。对不起。【参考方案2】:使用这个它可以帮助你
-> 只取一个左键
-> 标题使用: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]
【讨论】:
我不想要标题。我想要左角的标题。【参考方案3】: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)
【讨论】:
以上是关于第一个 leftBarButtonItem 隐藏的主要内容,如果未能解决你的问题,请参考以下文章
基于 Ionic 3 中的第一个 DropDownSelect 显示/隐藏第二个 DropDownSelect