【问题标题】:Customised navigation bar back button title自定义导航栏后退按钮标题
【发布时间】:2020-01-07 06:31:29
【问题描述】:

我想要自定义导航栏后退按钮标题和动作。

我的形象:

我需要这样的后退按钮。在这里,我成功添加了文本,但没有添加返回箭头。这里我的代码有返回按钮的动作。

这是我的代码

    //Custom barButtonItem with custom alert function
    self.navigationItem.hidesBackButton = true
    let newBackButton = UIBarButtonItem(title: "< Dialer", style: .plain, target: self, action: #selector(back(sender:)))
    self.navigationItem.leftBarButtonItem = newBackButton

当我添加上面的代码时,它会变成这样。

【问题讨论】:

  • 我试过NSMutableAttributedString,但它不起作用。我的代码是let attrString = NSMutableAttributedString(string: "&lt;", attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 18)]) attrString.append(NSMutableAttributedString(string: " Dialer", attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 36)]))
  • let newBackButton = UIBarButtonItem(title: "\(attrString)", style: .plain, target: self, action: #selector(back(sender:)))
  • 这段代码对我很有帮助....stackoverflow.com/questions/27499998/…

标签: ios swift cocoa-touch uinavigationcontroller uibarbuttonitem


【解决方案1】:
func backButtonConfiguration(_ title : String, backImageName : String) {
    let backImage : UIImage = UIImage(named: backImageName)!
    self.navigationBar.backIndicatorImage = backImage.withRenderingMode(.alwaysTemplate)
    self.navigationBar.backIndicatorTransitionMaskImage = backImage
    self.navigationBar.backItem?.title = title
}

更新

如果我们需要后退按钮的自定义操作,那么我们必须添加自定义 BarButtonItem。如果我们需要栏后退按钮看起来与内置后退按钮相同,那么我们可以创建自定义视图并将其用作栏按钮项

  weak var customView : UIView!

  lazy var leftBarButtonView : UIBarButtonItem! = {
    let btnBack = UIBarButtonItem(customView: customView)
    let gesture = UITapGestureRecognizer(target: self, action: #selector(btnButtonClicked(_:)))
    gesture.numberOfTapsRequired = 1
    self.customView.addGestureRecognizer(gesture)
    self.customView.isUserInteractionEnabled = true
    return btnBack
  }()

  @objc func btnButtonClicked(_ gesture : UITapGestureRecognizer) {
    self.navigationController?.popViewController(animated: true)
  }

 self.navigationItem.leftBarButtonItems = [leftBarButtonView]

【讨论】:

  • 如何为后退按钮添加操作,当我点击后退按钮时,我想显示一些警报。如果用户单击是,那么我只想返回。
  • 然后创建一个带有标题和图像的自定义 UIButton。然后使用 UIBarButtonItem(customView: customButton) 创建 UIBarButtonItem
  • @jpulikkottil,这里我已经添加了自定义 UIBarButtonItem ,我们需要为那个 UIBarButtonItem 设置自定义文本。
  • 自定义视图是什么
  • customView 是 UIView,带有图片和标签的设计。与内置后退按钮相同。
猜你喜欢
  • 1970-01-01
  • 2016-04-01
  • 2012-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
相关资源
最近更新 更多