如何在turbolinks-ios应用程序中将UIBarButtonItem添加到navigationBar

时间:2017-06-02 20:30:58

标签: ios swift3 turbolinks-5 turbolinks-ios

我有一个我继承的turbolinks-ios应用,需要添加原生导航。

起初我使用故事板将主应用程序控制器嵌入到导航控制器中,但turbolinks有自己的导航栏,因此可以创建两个堆叠的导航栏。然后我从故事板中删除了导航控制器,但现在我无法将我的按钮添加到默认的turbolinks导航栏。没有错误,如果我单步执行代码,它会命中我的函数中的每一行,但是栏中没有显示任何内容。我做错了什么?

我在UINavigationController类中从viewDidLoad()调用的函数如下...

    func addSlideMenuButton() {
        let callback = #selector(toggleNav)
        let btnShowMenu = UIButton(type: UIButtonType.system)
        btnShowMenu.setImage(self.defaultMenuImage(), for: UIControlState())
        btnShowMenu.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
        btnShowMenu.addTarget(self, action: callback, for: UIControlEvents.touchUpInside)
        let customBarItem = UIBarButtonItem(customView: btnShowMenu)
        navigationController?.navigationItem.rightBarButtonItem = customBarItem
    }

非常感谢任何正确方向的推动。

1 个答案:

答案 0 :(得分:0)

您必须先在sizeToFit上致电customView

在创建btnShowMenu.sizeToFit之前添加UIBarButtonItem