2017-02-15 3 views
0

Я реорганизовал свою раскадровку, и теперь я не могу установить значение значка на рефакторинговой раскадровке.Невозможно установить значение значка Tab Bar на Refactored Storyboard

Это основная доска для справки и MessageCenter - это рефакторинговая раскадровка.

enter image description here

Message Center StoryBoard:

enter image description here

Я устанавливаю значение жетона в приложение делегата, который не работает:

если пусть tabBarController = я. window! .rootViewController как? UITabBarController { tabBarController.tabBar.items! 2 .badgeValue = "3" }

Любые идеи?

+0

есть только один элемент в реорганизованным контроллера панели вкладок. ... – jarryd

ответ

1

Попробуйте этот код в ваш TabBarCustomViewController:

DispatchQueue.main.async(execute: { 
       self.tabBar.items?[3].badgeValue = "3" 
}) 
+0

Это сработало! Можешь мне сказать почему? – Jonesie

+0

Возможно, вы не в основном потоке, если вы хотите изменить что-то, связанное с пользовательским интерфейсом, вам нужно быть в главной теме – DiegoQ

0

если let tabBarController = self.window? .rootViewController as? UITabBarController {? tabBarController.viewControllers [2] .tabBarItem.badgeValue = "3"}

+0

К сожалению, это не сработало. Спасибо хоть. Я ценю ответ. – Jonesie

+0

Жаль, что это не сработало, клянусь, это сработало на моей машине :) –