简体   繁体   English

UITabBar背景图像无法正确显示

[英]UITabBar background image not showing properly

I made custom UITabBar class and tried to set background image. 我制作了自定义的UITabBar类,并尝试设置背景图像。

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

I set the image file name to my_image@2x and image file is 640*98 我将图像文件名设置为my_image @ 2x,图像文件为640 * 98

I run on iPhone6 simulator and it seems the image is not wide enough like Google's "C" is repeated on sample below 我在iPhone6模拟器上运行,图像似乎不够宽,就像下面的示例中重复了Google的“ C”

在此处输入图片说明

Im I using wrong image size or is something else is wrong? 我使用的图像尺寸错误,还是其他错误?

Just redraw the image: 只需重新绘制图像:

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)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM