2016-07-27 26 views
0

Ich machte benutzerdefinierte UITabBar-Klasse und versuchte, Hintergrundbild festzulegen.UITabBar Hintergrundbild nicht richtig angezeigt

tabBar.backgroundImage = UIImage(named: "my_image")?.imageWithRenderingMode(.AlwaysOriginal) 

ich die Bilddateinamen my_image @ 2x und Bilddatei ist 640 * 98

Ich laufe auf iPhone6 ​​Simulator und es scheint das Bild nicht breit genug ist, wie Googles „C“ wird wiederholt auf Probe unter

enter image description here

Im ich falsch Bildgröße mit oder ist etwas anderes falsch?

Antwort

1

neu zeichnen Sie einfach das Bild:

var image = UIImage(named: "my_image") 
if let image = image { 
    var centerImage: Bool = false 
    var resizeImage: UIImage? 
    let size = CGSize(width: UIScreen.mainScreen().bounds.size.width, height: 98) 
    UIGraphicsBeginImageContextWithOptions(size, false, 0) 
    if centerImage { 
     //if you want to center image, use this code 
     image.drawInRect(CGRect(origin: CGPoint(x: (size.width-image.size.width)/2, y: 0), size: image.size)) 
    } 
    else { 
     //stretch image 
     image.drawInRect(CGRect(origin: CGPoint.zero, size: size)) 
    } 
    resizeImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 
    tabBar.backgroundImage = resizeImage.imageWithRenderingMode(.AlwaysOriginal) 
} 
+0

Das funktionierte, danke! – Bigair