【问题标题】:How to handle click event of BackBarButtonItem in nav bar using SWIFT?如何使用 SWIFT 处理导航栏中 BackBarButtonItem 的点击事件?
【发布时间】:2016-02-15 08:18:08
【问题描述】:

导航栏后退按钮被按下时,我试图处理一个动作。然而我已经为另一个 viewController 设置了 segue。

虽然我需要在用户点击 5 次后退按钮时保持 count。为此,我已经实现了这些东西。

在此我为导航栏后退按钮设置了一个操作:

class DetailViewController:UIViewController, UITabBarDelegate, UINavigationControllerDelegate{
    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.backBarButtonItem?.action = "perform"
        self.navigationController?.delegate = self
    }

    func perform(){
        if count == 5{
            count=0
            print("Back Button pressed 5 times")
        }
    }
}

我在哪里做错了?

【问题讨论】:

  • 你确定 backBarButtonItem 不是 Nil 吗?可能值得设置一个断点并确保您没有将其接线错误。
  • 谢谢,现在可以了。

标签: ios swift


【解决方案1】:
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let backItem = UIBarButtonItem(title: "Back", style: .Plain, target: self, action: "tapToBack")
        self.navigationItem.leftBarButtonItem = backItem
    }

    func tapToBack() {
        var times = 0
        times++
        NSLog("tap times:%d", times)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

【讨论】:

    【解决方案2】:

    应该是这样实现的:

    override func viewDidLoad {
        super.viewDidLoad()
        self.navigationItem.hidesBackButton = true
        let newBackButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Bordered, target: self, action: "back:")
        self.navigationItem.leftBarButtonItem = newBackButton;
    }
    
    func back(sender: UIBarButtonItem) {
      // your code
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 2015-09-15
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多