前言:今天在寫代碼的過程中遇到一個需要修改系統navigationBar的背景色,我起初用的是barTintColor去修改但是防不住系統點擊按鈕的時候會有一個渲染高亮的效果,調了好久沒有達到自己想要的效果,最後放棄用顏色來搞這個了,看了一下swift的API發現也可以用圖片,有不好意思找UI(自己 ...
前言:今天在寫代碼的過程中遇到一個需要修改系統navigationBar的背景色,我起初用的是barTintColor去修改但是防不住系統點擊按鈕的時候會有一個渲染高亮的效果,調了好久沒有達到自己想要的效果,最後放棄用顏色來搞這個了,看了一下swift的API發現也可以用圖片,有不好意思找UI(自己的demo找UI切圖不太合適,只好來把顏色改成圖片了)
正文開始啦:
先上一份OC的代碼吧
+ (UIImage *)imageWithColor:(UIColor *)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
swift代碼奉上
func imageWithColor(color:UIColor) -> (UIImage) {
let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 1.0)
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
context!.setFillColor(color.cgColor)
context!.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
return image!
}
剛剛接觸swift不是特別久如果大神有更好的方法,還請不吝賜教,轉載請附上原地址(不附上也沒事^_^)
謝謝!