Панель инструментов UINavigationController не отображает элементы - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть пользовательский UINavigationController (YAKMainNavigationController) с включенной панелью инструментов, показанной на основе иерархии моего приложения.Я пытаюсь использовать его в качестве панели вкладок для переключения между различными страницами в моем приложении с помощью пользовательских кнопок (YAKFadeButton).Я использую приведенный ниже код в YAKMainNavigationController.swift для добавления элементов на панель инструментов:

override func viewDidLoad() {
    addToolbarItems()
}

func addToolbarItems() {
    var items = [UIBarButtonItem]()
    items.append(UIBarButtonItem(customView: YAKFadeButton(normalImage: UIImage(named: "computer"), highlightedImage: UIImage(named: "computer1"), fadeDuration: 0.5, alignment: UIStackView.Alignment.center)))
    items.append(UIBarButtonItem(customView: YAKFadeButton(normalImage: UIImage(named: "bell"), highlightedImage: UIImage(named: "bell1"), fadeDuration: 0.5, alignment: UIStackView.Alignment.center)))
    items.append(UIBarButtonItem(customView: YAKFadeButton(normalImage: UIImage(named: "message"), highlightedImage: UIImage(named: "message1"), fadeDuration: 0.5, alignment: UIStackView.Alignment.center)))
    items.append(UIBarButtonItem(customView: YAKFadeButton(normalImage: UIImage(named: "user"), highlightedImage: UIImage(named: "user1"), fadeDuration: 0.5, alignment: UIStackView.Alignment.center)))

    setToolbarItems(items, animated: false)
    setToolbarHidden(false, animated: false)
    toolbar.tintColor = UIColor.white

    print(items)
    print(toolbarItems as Any)
}

Элементы не отображаются по причине, которую я не могу различить.Я захватил иерархию пользовательского интерфейса, и элементы даже не находятся там, но массив toolbarItems содержит элементы.Вывод консоли для приведенного выше кода выглядит следующим образом:

[<UIBarButtonItem: 0x1028272a0> view=<YAK.YAKFadeButton: 0x102825a20; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x283059740>>, <UIBarButtonItem: 0x102829370> view=<YAK.YAKFadeButton: 0x1028288f0; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305a060>>, <UIBarButtonItem: 0x10282aba0> view=<YAK.YAKFadeButton: 0x10282a120; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305a860>>, <UIBarButtonItem: 0x10282cc00> view=<YAK.YAKFadeButton: 0x10282c180; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305b060>>]
Optional([<UIBarButtonItem: 0x1028272a0> view=<YAK.YAKFadeButton: 0x102825a20; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x283059740>>, <UIBarButtonItem: 0x102829370> view=<YAK.YAKFadeButton: 0x1028288f0; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305a060>>, <UIBarButtonItem: 0x10282aba0> view=<YAK.YAKFadeButton: 0x10282a120; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305a860>>, <UIBarButtonItem: 0x10282cc00> view=<YAK.YAKFadeButton: 0x10282c180; baseClass = UIControl; frame = (0 0; 0 0); layer = <CALayer: 0x28305b060>>])

Любая помощь с отображением этих кнопок очень ценится, спасибо.

1 Ответ

0 голосов
/ 24 марта 2019

Здесь может помочь решение: https://stackoverflow.com/a/29119376/1444152 - установить self.toolbarItems.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...