1

我有一个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
    }

任何朝着正确方向的轻推将不胜感激。

4

1 回答 1

0

你必须先打电话sizeToFitcustomView

所以btnShowMenu.sizeToFit在创建之前添加UIBarButtonItem

于 2017-06-06T19:50:15.397 回答