Восстановить внешний вид панели навигации по умолчанию
Я делаю iOS-приложение для iPhone и использую навигационный контроллер. В какой-то момент во время навигации я добавляюUISegmentedControl
на контроллер представления, просто под панелью навигации от контроллера навигации. Я вставляю новые фоновые и теневые изображения в панель навигации, чтобы сделатьUISegmentedControl
появляются как часть панели навигации. Я делаю это так:
// nav bar color image
let rect = CGRectMake(0, 0, view.frame.width, 0.5) // Used in navBar, size dosn't matter
UIGraphicsBeginImageContextWithOptions(rect.size, true, 0)
barBackgroundColor.setFill()
UIRectFill(rect)
let navBarBackground = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
// setup navbar
navigationController!.navigationBar.setBackgroundImage(navBarBackground, forBarMetrics: .Default)
navigationController!.navigationBar.shadowImage = UIImage()
navigationController!.navigationBar.tintColor = UIColor.blackColor()
navigationController!.navigationBar.translucent = false
Когда я перемещаюсь от этого заданного контроллера представления, фон навигационных панелей все еще изменяется.
Как я могу восстановить внешний вид панели навигации?
Или же...
Есть ли другой способ встраиванияUISegmentedControl
в расширенную панель навигации?
Изображение панели навигации с пользовательским фоном и сегментированным управлением ниже:
При переходе назад навигационная панель настраивается так:
РЕДАКТИРОВАТЬ:
В контроллере представления перед тем, как изменить фоновые изображения, я пытаюсь сохранить стандартное изображение:
override func viewDidAppear(animated: Bool) {
if sharedVariables.standartNavBarBackgroundImage == nil {
let herp = navigationController!.navigationBar.backgroundImageForBarMetrics(.Default)
sharedVariables.standartNavBarBackgroundImage = herp
let derp = navigationController!.navigationBar.shadowImage
sharedVariables.standartNavBarShadowImage = derp
}
}
И то и другоеherp
а такжеderp
являютсяnil
после настройки, несмотря на то, что навигационная панель видна на этом momont. Как так?