2015-04-04 4 views
-1
override func viewDidLoad() { 
    super.viewDidLoad() 
    tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0) 
} 

Я поместил это в один из контроллеров представления моей вкладки. Однако это устанавливает только конкретное представление. Я копирую и вставляю это во все остальные контроллеры, но он устанавливается только тогда, когда я нажимаю на них. (Если я не нажимаю на них, viewDidLoad не запускается.)Как изменить внешний вид каждой вкладки в контроллере панели вкладок?

Я хочу, чтобы все вкладки отображали эту вставку изображений сразу же после отображения всех вкладок.

ответ

0

Один из вариантов заключается в прокрутке всех контроллеров для панели вкладок. Поместите этот код либо после инициализации UITabBarController (и его viewControllers), либо в вашем первом контроллере управления viewDidLoad (его нужно только запустить после).

// Loop through ALL the controllers in the TabBarController and set their tab bar item imageInsets. 
for (index, controller) in enumerate(tabBarController.viewControllers) { 
    controller.tabBarItem.imageInsets = UIEdgeInsets(top: 5, left: 0, bottom: -5, right: 0) 
} 
Смежные вопросы