iOS UIView背景图片

Kov*_*ovu 40 uiview ios

我希望在a上UIImage有一个背景图像UIView.

这是我的代码:

UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"login.png"]];
self.view.backgroundColor = background;
[background release];
Run Code Online (Sandbox Code Playgroud)

问题是,规模不合适.它缩放到640到480,所以我不能100%确定它,但它看起来只显示300到250或类似的东西.

是否适合缩放/适合UIView /适合大小模式?

小智 54

您需要在添加之前处理图像,请尝试以下操作:

UIGraphicsBeginImageContext(self.view.frame.size);
[[UIImage imageNamed:@"image.png"] drawInRect:self.view.bounds];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

self.view.backgroundColor = [UIColor colorWithPatternImage:image];
Run Code Online (Sandbox Code Playgroud)


小智 28

你好试试这个,

     self.view.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"login.png"]];
Run Code Online (Sandbox Code Playgroud)


小智 11

指定实际背景并将其发送到视图的背面

//add background
UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];
[myView addSubview:background];
[myView sendSubviewToBack:background];
myView.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)


Zai*_*han 9

Swift中使用这个......

    UIGraphicsBeginImageContext(self.view.frame.size)
    UIImage(named: "1.png")?.drawInRect(self.view.bounds)

    var image: UIImage = UIGraphicsGetImageFromCurrentImageContext()

    UIGraphicsEndImageContext()

    self.view.backgroundColor = UIColor(patternImage: image)
Run Code Online (Sandbox Code Playgroud)


Goo*_*KSL 8

根据UIColorAPI:

您可以使用图案颜色来设置填充或描边颜色,就像使用纯色一样.在绘制期间,图案颜色中的图像根据需要平铺以覆盖给定区域.

这意味着它会尝试从图像中创建一个图案来填充该区域.我认为最好的方法是重新调整图像UIView尺寸以适应尺寸.

这里有一个很好的答案如何在运行时调整图像大小:

调整UIImage大小的最简单方法是什么?


Kev*_*ord 7

如果你想在swift中做到这一点:

self.view.backgroundColor = UIColor(patternImage: UIImage(named:"background.jpg"))
Run Code Online (Sandbox Code Playgroud)