У меня есть MKMap в моем ViewController, и я разрешаю своим пользователям переключаться между типами карт между «Стандартным», «Гибридным» и «Спутником» - как и в приложении «Карты». Как и в приложении для карт, у меня есть нижняя панель, а затем у меня есть панель навигации вверху. Когда пользователь переключается между типами карт, полоски должны переключаться на черный фон с белыми кнопками для «Гибридных» и «Спутников», а белый фон с синими кнопками «Стандарт».Изменение цвета панели навигации в Swift
У меня есть нижние полосы, меняющие цвета . правильно, но я не в состоянии получить навигационную панель, чтобы изменить на всех Вот моя функция, когда пользователь изменяет типы карт:
func changeMapType(sender:UISegmentedControl){
if mapType.selectedSegmentIndex == 0{
mapView.mapType = MKMapType.Standard
toolbar.barTintColor = UIColor(red:1.0, green:1.0, blue:1.0, alpha:1.0)
toolbar.tintColor = UIColor(red:0.0, green:122.0/255.0, blue:1.0, alpha:1.0)
self.navigationController?.navigationBar.translucent = false
self.navigationController?.navigationBar.barTintColor = UIColor(red:1.0, green:1.0, blue:1.0, alpha:1.0)
self.navigationController?.navigationBar.tintColor = UIColor(red:0.0, green:122.0/255.0, blue:1.0, alpha:1.0)
defaults.setValue("Standard", forKey: "initialMapType")
}
else if mapType.selectedSegmentIndex == 1{
mapView.mapType = MKMapType.Hybrid
toolbar.barTintColor = UIColor.blackColor()
toolbar.tintColor = UIColor.whiteColor()
self.navigationController?.navigationBar.translucent = false
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
defaults.setValue("Hybrid", forKey: "initialMapType")
}
else if mapType.selectedSegmentIndex == 2{
mapView.mapType = MKMapType.Satellite
toolbar.barTintColor = UIColor.blackColor()
toolbar.tintColor = UIColor.whiteColor()
self.navigationController?.navigationBar.translucent = false
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor()
defaults.setValue("Satellite", forKey: "initialMapType")
}
}
кто-нибудь знает, что я должен делать по-другому, чтобы получить мой СЧА бар для изменения цвета?
Вы говорите, что у вас есть панель навигации. Но вы на самом деле внутри навигационного контроллера? – matt
Да, я внутри контроллера навигации. –
Попробуй это http://stackoverflow.com/questions/31846263/how-to-change-the-font-and-text-color-of-the-title-of-uinavigationbar – Laky