【问题标题】:backBarButtonItem in iOS (Swift)iOS 中的 backBarButtonItem (Swift)
【发布时间】:2022-03-05 04:12:16
【问题描述】:
var backButton: UIBarButtonItem = UIBarButtonItem(title: "CUSTOM", style: UIBarButtonItemStyle.Bordered, target: self, action: nil)
    newNavigationItem.backBarButtonItem = backButton

newNavigationItem: UINavigationItem在哪里

我想要自定义后置标题。它显示“返回”文本或“最后一个视图的标题”。所以它不起作用。为什么?

【问题讨论】:

    标签: ios swift


    【解决方案1】:

    Yogesh Suthar 所说的方法将替换整个后退按钮,因此您不会有默认的左箭头符号!我建议使用此代码:

    navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
    

    【讨论】:

    • 你把这个放在父视图控制器里吗?
    • 是的。您可以在可以访问 navigationViewcontroller 的任何地方执行此操作。
    • 这应该是公认的答案。设置 leftBarButtonItem 是一种解决方法。在 swift 2 中,我在视图控制器的 viewDidLoad 中使用了它,将其推送到我想更改后面标题的那个:navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "Back", style: .Plain, target: nil, action: nil)
    • @Majid +1 以获得最佳答案。现在我也可以使用这个解决方案。 :)
    【解决方案2】:

    使用leftBarButtomItem

    newNavigationItem.backBarButtonItem = backButton
    

    应该是

    newNavigationItem.leftBarButtonItem = backButton
    

    【讨论】:

    • 谢谢。那是工作。现在用什么 backBarButtonIteam?还有一个问题:需要在“操作”中添加什么让此按钮像通常的返回按钮一样工作
    • 啊。也没有更多的箭头了。如何添加?
    • @MaximDroy 你为什么不设置 title 属性呢?无需创建全新的 UIBarButtonItem。见:stackoverflow.com/questions/20282760/…
    • @MaximDroy 抱歉回复晚了。关于“Action”的第一个问题,你需要创建一个自定义函数并且你需要弹出VC,你可以使用这个代码self.navigationController.popViewControllerAnimated(true)。
    • 设置 leftBarButtonItem 是一种解决方法 - 而是将 backBarButtonItem 设置为视图控制器的 viewDidLoad 中的自定义 UIBarButtonItem 推送到 @Majid 下面stackoverflow.com/a/30250603/169902 建议的要更改的那个@
    【解决方案3】:
    override func viewDidLoad() {
     super.viewDidLoad()
      let newBackButton = UIBarButtonItem(title: "Back",
             style: UIBarButtonItemStyle.Plain, target: self, action: "backAction")
        navigationController?.navigationBar.topItem?.backBarButtonItem = newBackButton
    

    }

    func backAction() -> Void {
        self.navigationController?.popViewControllerAnimated(true)
    }
    

    【讨论】:

      【解决方案4】:

      在我的情况下,将自定义 UIBarButtonItem 设置为 backBarButtonItem 从左侧有一些填充。经过仔细检查,它显示后退按钮的默认图像是可见的。

      什么对我有用:

      navigationController?.navigationBar.backIndicatorImage = UIImage()
      navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage()
      navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(image: UIImage(named: "backIcon"), style: .plain, target: self, action: nil)
      

      使用此逻辑,向后滑动正常工作,并且单击后退按钮会弹出视图控制器。

      【讨论】:

        猜你喜欢
        • 2021-08-09
        • 2015-07-12
        • 1970-01-01
        • 2020-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多