如何在不使用 imageview 的情况下直接在视图上将图像设置为背景?
Posted
技术标签:
【中文标题】如何在不使用 imageview 的情况下直接在视图上将图像设置为背景?【英文标题】:How to set an image as background directly on a view without using imageview? 【发布时间】:2017-07-20 12:51:47 【问题描述】: UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.jpg"]];
_mainView.backgroundColor = background;
当我运行此代码时,我将图像作为视图的背景,但喜欢几种模式。我想在不使用 ImageView 的情况下将图像设置为我的视图。 可以通过 stroyboard 做吗?
【问题讨论】:
你为什么要做这样的事情? UIImageView 是实现你想要的最简单、最直接的方法。 How to set background image of a view?的可能重复 【参考方案1】:您可以使用 CaLayer 对象,将您的图像指定为视图层的内容。 其他项目可以像以前一样添加为视图的子视图。
class CustomViewController: UIViewController
override func viewDidLoad()
super.viewDidLoad()
// assign image as content of view's layer
view.layer.contents = UIImage(named: "yourImageName")!.cgImage
更多信息:
Apple's CALayer doc
CALayer tutorial
【讨论】:
【参考方案2】:当我运行此代码时,我将图像作为视图的背景,但是 喜欢几种模式。
因为您创建了一个模式并将其设置为UIView
。方法initWithPatternImage
使用指定的 Quartz 颜色参考初始化并返回一个颜色对象。
最好你可以使用UIImageView
并将其添加到UIView
【讨论】:
以上是关于如何在不使用 imageview 的情况下直接在视图上将图像设置为背景?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不创建新位图的情况下拥有圆形、中心裁剪的 imageView?
Android:如何在不加载完整位图的情况下将流式图像即时渲染到 ImageView?
Titanium:在不创建 ImageView 的情况下获取 png 高度