我有一个UIView(这是我的导航抽屉),我想设置一个背景图像。首先,我尝试了这种方法:
menuView.backgroundColor = UIColor(patternImage: UIImage(named: "menu_image.png")!)
但我只得到了我的UIView的一部分图像。接下来我试图像这样调整图像大小:
UIGraphicsBeginImageContext(menuView.frame.size);
var image = UIImage(named: "menu_image.png")
image?.drawInRect(menuView.bounds)
UIGraphicsEndImageContext()
menuView.backgroundColor = UIColor(patternImage: image!)
但它没有帮助,很奇怪,bcs人说,它帮助了他们。我不明白我做错了什么。
更新
我忘了一行:
UIGraphicsBeginImageContext(menuView.frame.size);
var image = UIImage(named: "menu_image.png")
image?.drawInRect(menuView.bounds)
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext()
menuView.backgroundColor = UIColor(patternImage: image!)
问题已经结束,thx。
答案 0 :(得分:4)
Obj-C ...将其转换为Swift并且它将起作用(你错过了一行)
UIGraphicsBeginImageContext(self.view.frame.size);
[[UIImage imageNamed:@"image.png"] drawInRect:self.view.bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
self.view.backgroundColor = [UIColor colorWithPatternImage:image];