我正在制作一些绘图代码。我的那部分工作得很好。
我想要绘制一幅图像,但我仍然希望能够看到图像的细节,黑线等。
我正在做的是制作一个透明的UIImageView来保存图像。
我不确定如何正确设置此设置。
是否应将其添加到我在其上或下方着色的其他UIImageView上方?
这是我到目前为止所拥有的:
- (void)viewDidLoad
{
[super viewDidLoad];
topImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 46, 320, 370)];
[topImageView setImage:[UIImage imageNamed:@"imagesmall.png"]];
topImageView.alpha = 1.0;
topImageView.layer.opacity = 1.0;
topImageView.layer.opaque = NO;
[self.view addSubview:topImageView];
[topImageView release];
}
有人想到吗?
答案 0 :(得分:1)
是的,您可以在其他视图上绘制视图。它们按照它们作为子视图添加的顺序绘制,除非您在此之后重新排序。
您可能需要为某些视图设置opaque
属性(这与其图层不透明度不同并覆盖它们),并将其backgroundColor
设置为nil
。 UIImageView
默认情况下似乎是透明的,只要它的图像是;其他一些UIView
子类则不是。
那么,你的叠加层会是什么样的?如果您只需要在另一个图像上显示一个图像,那么您在此处所拥有的内容似乎已经有效。如果需要以编程方式绘制一些行,则需要执行以下操作:
UIView
。drawRect
方法以显示您需要的内容。opaque
且没有backgroundColor
。这里的一个常见问题是发现您的前台工作正常,但背景未正确加载。要确保背景存在,请将前景视图的alpha
设置为0.5
。您不希望在生产中执行此操作,但它将允许您验证两个视图是否存在。