SWIFT 2.x:
Fuori di convenienza, ho esteso UIImage()
per permettermi di usare essenzialmente come un colore con il codice immediatamente sotto.
extension UIImage {
class func imageWithColor(color: UIColor) -> UIImage {
let rect = CGRectMake(0, 0, 1.0, 0.5)
UIGraphicsBeginImageContextWithOptions(rect.size, false, 0)
color.setFill()
UIRectFill(rect)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}
Avanti, ti consigliamo di aggiungere le seguenti righe al codice per regolare l'immagine ombra del viewController UINavigationBar
s', o il colore in questo caso.
// Sets Bar's Background Image (Color) //
self.navigationController?.navigationBar.setBackgroundImage(UIImage.imageWithColor(UIColor.blueColor()), forBarMetrics: .Default)
// Sets Bar's Shadow Image (Color) //
self.navigationController?.navigationBar.shadowImage = UIImage.imageWithColor(UIColor.redColor())
SWIFT 3.x/4.x:
codice di estensione: il codice
extension UIImage {
class func imageWithColor(color: UIColor) -> UIImage {
let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 0.5)
UIGraphicsBeginImageContextWithOptions(rect.size, false, 0.0)
color.setFill()
UIRectFill(rect)
let image : UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
return image
}
}
NavigationBar:
// Sets Bar's Background Image (Color) //
navigationController?.navigationBar.setBackgroundImage(UIImage.imageWithColor(color: .blue), for: .default)
// Sets Bar's Shadow Image (Color) //
navigationController?.navigationBar.shadowImage = UIImage.imageWithColor(color: .red)
Edit 1:
Aggiornato codice di estensione in modo da poter regolare la dimensione rect senza cambiare colore UIImage
opacità.
Edit 2:
Aggiunto Swift 3 + 4 Swift codice.
L'immagine shadow esiste ancora, è necessario eseguire 'UINavigationBar.appearance(). ShadowImage = ...'in Swift – dan
Qualcuno sa perché il completamento automatico non mostra shadowImage? (Ma in realtà esiste) – TIMEX
Perché non è accessibile tramite 'UINavigationBar.appearance()'. – ZGski