2016-07-27 31 views
0

カスタムUITabBarクラスを作成し、背景画像を設定しようとしました。UITabBar背景画像が正しく表示されない

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

は、私が2倍@ my_imageする画像ファイル名を設定すると、画像ファイルは640 * 98

私はiPhone6シミュレータ上で実行され、画像が十分な広 Googleの「C」が繰り返されるようではないようです

enter image description here

イム以下のサンプルに私が何かをされて、間違った画像サイズを使用するか、間違っていますか?

答えて

1

ちょうどイメージを再描画:

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

これは働いていた、感謝を! – Bigair

関連する問題