UIView背景图片调整大小

3
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我有一个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!)

我不明白自己做错了什么,因为这并没有帮助我,而且很奇怪。但是其他人说它对他们有帮助。

更新

我忘记了一行:

UIGraphicsBeginImageContext(menuView.frame.size);
var image = UIImage(named: "menu_image.png")
image?.drawInRect(menuView.bounds)
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext()
menuView.backgroundColor = UIColor(patternImage: image!)

问题已关闭,谢谢。


你有试过将一个UIImageView作为UIView的第一个子元素,然后设置UIImageView的图像吗? - Abd Al-rhman Taher Badary
1个回答

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];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接