我正在爲iPhone製作iOS應用程序,而我正在使用導航控制器。在導航過程中的某個時刻,我將一個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
被設置後,dispite的導航欄是可見在這個momont。怎麼來的?
顯示你正在尋找和它是什麼樣子,如果你不改變圖像 – Wain
圖片added..The最終的結果應該是非標準導航欄的外觀最終結果的圖片.. – Wiingaard