【发布时间】:2011-12-18 00:49:58
【问题描述】:
是否可以在不使用 Interface Builder 中的 UIImageView 的情况下用图像覆盖 UIView?
如果没有,您将如何在代码中完成相同的操作?
【问题讨论】:
标签: ios uiview uikit uiimageview uiimage
是否可以在不使用 Interface Builder 中的 UIImageView 的情况下用图像覆盖 UIView?
如果没有,您将如何在代码中完成相同的操作?
【问题讨论】:
标签: ios uiview uikit uiimageview uiimage
来自 UIView 文档:
基于图像的背景 - 对于显示相对静态内容的视图,请考虑使用带有手势识别器的 UIImageView 对象,而不是子类化并自己绘制图像。或者,您也可以使用通用 UIView 对象并将您的图像分配为视图的 CALayer 对象的内容。
使用第二个选项,将 someView 设置为具有 yourImage.png 的背景:
someView.layer.contents = (id)[[UIImage imageNamed:@"yourImage.png"] CGImage];
【讨论】:
如果覆盖 UIView 是指用图像绘制其背景,则可以这样完成:
someView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]];
您还可以添加一个新的 UIImageView 覆盖您的 UIView 通过代码,使用与 UIView 相同的框架 Rect 初始化 UIImageView 并将其添加为子视图。
【讨论】: