Sto cercando di rendere trasparente il mio UINavigationBar
in UINavigationController
. Ho creato una sottoclasse di UINavigationController
e l'ho apprezzata in una scena del mio file storyboard. Ecco un pezzo del mio sottoclasse:UINavigationBar trasparente in Swift
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let size = self.navigationBar.frame.size
self.navigationBar.setBackgroundImage(imageWithColor(UIColor.blackColor(), size: size, alpha: 0.2), forBarMetrics: UIBarMetrics.Default)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func imageWithColor(color: UIColor, size: CGSize, alpha: CGFloat) -> UIImage {
UIGraphicsBeginImageContext(size)
let currentContext = UIGraphicsGetCurrentContext()
let fillRect = CGRectMake(0, 0, size.width, size.height)
CGContextSetFillColorWithColor(currentContext, color.CGColor)
CGContextSetAlpha(currentContext, alpha)
CGContextFillRect(currentContext, fillRect)
let retval: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return retval
}
Quando eseguo la mia applicazione un avere una barra di navigazione trasparente, ma la barra di stato è solo nero.
Ad esempio, se faccio qualcosa del genere su UITabBar
- funziona.
Ora non riesco a vedere la barra di navigazione. Non funziona –
Cosa intendi con trasparente allora? @NikitaZernov Trasparente = colore trasparente. puoi vedere solo titoli e pulsante. –
Vuole rendere la sua barra di stato trasparente. –