2017-01-21 2 views
0

Я пытаюсь создать конструкцию управления XLPagerTabStrip, где общая тема изменяется при изменении вкладок.XLPagerTabStrip - Как изменить выбранный цвет бара при изменении выбора?

Ниже то, что получение вызывается, когда вкладка изменяет

changeCurrentIndexProgressive = { [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in 
     guard changeCurrentIndex == true else { return } 
     oldCell?.label.textColor = .black 
     newCell?.label.textColor = UIColor.red 

     //Change the navigation bar's color 
     self?.navigationController?.navigationBar.barTintColor = UIColor.red 

     //Attempting to change the selected bar color 
     self?.settings.style.selectedBarBackgroundColor = UIColor.green  
    } 

Изменение контроллера навигации цвета работает, но я не могу получить выбранную строку (или любую вещь в настройках объекта) для перехода от внутри здесь?

Можно ли изменить настройки после загрузки вида?

+0

добавить новые тег к вашему вопросу. Есть 0 подписчиков на 'xlpagertabstrip' –

+0

Спасибо, что добавили их. Я думал, так как они связались с их github, чтобы задавать вопросы здесь с этим тегом, что они следовали за ним. – Ben987654

+0

Хм. Может быть, но все же, только 23 вопроса на этом сайте имеют теги –

ответ

1

код Проверить

если вы проверить код Code Search for selectedBarBackgroundColor, то вы нашли это 3 интересные результаты поиска:

BaseButtonBarPagerTabStripViewController#viewDidLoad

buttonBarView.selectedBar.backgroundColor = settings.style.selectedBarBackgroundColor 

BarPagerTabStripViewController#viewDidLoad

barView.selectedBar.backgroundColor = settings.style.selectedBarBackgroundColor ?? barView.selectedBar.backgroundColor 

ButtonBarPagerTabStripViewController#viewDidLoad

buttonBarView.selectedBar.backgroundColor = settings.style.selectedBarBackgroundColor 

, что означает, что вам необходимо установить BackgroundColor перед viewDidLoad.

Выпуск

смотри также ответ на этот вопрос: XLPagerTabStrip Issue #137:

На самом деле это IsNot на вопрос. Настройки должны быть настроены перед вызовом viewDidLoad. Не могли бы вы задокументировать его в readme?

обходного

buttonBarView является публичной вар, может быть, вы можете установить его в дополнении к настройке направить это свойство: buttonBarView.selectedBar.backgroundColor

+0

Спасибо, я, должно быть, пропустил эту тему, так как я пробовал просматривать проблемы github. Отлично работает, спасибо. – Ben987654

+0

Обходной путь работал? – muescha

+0

Да, отлично работает. – Ben987654

Смежные вопросы