Не удается отобразить UIBarButtonItem с помощью UILabel

У меня есть UIToolbar, и я пытаюсь просто добавить ярлык для отображения разных сообщений. Я рассмотрел несколько примеров того, как это сделать, и все довольно просто. Для этого я создал два свойства: 1 для UIBarbuttonItem и 1 для метки. Однако при попытке добавить UILabel в настраиваемый вид элемента кнопки панели, ни элемент кнопки, ни метка не видны. Но если я закомментирую добавление метки в настраиваемый вид, появится элемент кнопки панели по умолчанию.

Вот код, который я добавил в viewDidLoad ...

self.toolbarButton.style = UIBarButtonItemStylePlain;
[self.toolbarButtonLabel sizeToFit];
self.toolbarButtonLabel.backgroundColor = [UIColor clearColor];
self.toolbarButtonLabel.textAlignment = NSTextAlignmentCenter;
self.toolbarButton.customView = self.toolbarButtonLabel;

Ничего не отображается в результате последней строки, но если я закомментирую эту строку, отобразится элемент кнопки панели стиля по умолчанию.

Заранее спасибо!


person SonnyB    schedule 22.07.2016    source источник


Ответы (1)


Я попробовал приведенный выше код, он отлично работает.

Это означает, что toolbarButton не установлен как элемент навигации. Попробуй это :

[self.navigationItem setRightBarButtonItem: self.toolbarButton]  ;

Кроме того, убедитесь, что значение navigationItem не равно нулю.

person Kunal Balani    schedule 22.07.2016
comment
Это добавило элемент кнопки панели в верхний правый угол панели навигации, а не на панель инструментов. Тем не менее, это также привело к появлению кнопки панели, которую я хотел на панели инструментов (даже без комментирования настраиваемой строки просмотра). Но это не добавило к нему моего лейбла. - person SonnyB; 23.07.2016
comment
Я попробовал тот же код на панели инструментов, и это тоже сработало. - person Kunal Balani; 23.07.2016
comment
Можете ли вы проверить добавление кода того, как вы настраиваете кнопку панели инструментов? - person Kunal Balani; 23.07.2016
comment
Это весь код, за исключением того факта, что я перетащил UIBarButtonItem (self.toolbarButton) на панель инструментов в раскадровке. - person SonnyB; 23.07.2016
comment
Все еще не мог понять, почему это не сработает, но я применил немного другой подход ... перетащил UIView на панель инструментов в раскадровке и создал выход, который сделал его выходом UIBarButtonItem, и перетащил UILabel на UIView и создал еще одну розетку. Оттуда не было проблем настроить все и сделать это видимым. - person SonnyB; 25.07.2016