将右侧栏按钮添加到导航栏

时间:2016-06-04 12:45:48

标签: ios swift uinavigationbar selector

随着更新版本的快速发布,我无法在导航栏中添加右侧栏按钮。这就是我正在尝试的:

class feedViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    let editButton   = UIBarButtonItem(title: "Post",  style: .Plain, target: self, action: #selector(didTapEditButton(_:)))

    self.navigationItem.rightBarButtonItem = editButton

    }

func didTapEditButton(sender: AnyObject){

    print("hjxdbsdhjbv")

}

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

没有编译错误,但是当我运行应用程序时,我没有看到任何按钮.. 谢谢你的时间。

1 个答案:

答案 0 :(得分:2)

看起来你需要将你的方法移出你正在创建UIBarButtonItem的方法的范围。

例如试试这个:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let editButton   = UIBarButtonItem(title: "Post",  style: .Plain, target: self, action: #selector(didTapEditButton))  

        self.navigationItem.rightBarButtonItem = editButton
    }


    func didTapEditButton(sender: AnyObject) {
        print("hjxdbsdhjbv")
    }
}

而不是:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let editButton   = UIBarButtonItem(title: "Post",  style: .Plain, target: self, action: #selector(didTapEditButton))  

        self.navigationItem.rightBarButtonItem = editButton

        func didTapEditButton(sender: AnyObject) {
            print("hjxdbsdhjbv")
        }

    }

}