2011-10-03 27 views
1

我有一个UIImageView,图像已经设置,并尝试添加一个CALayer作为子视图。它工作(子层数从0增加到1),但屏幕上没有任何事情发生。即使我尝试将图层背景设置为黑色或将隐藏设置为“否”。CALayer没有显示在UIImageView中

CALayer*layer=[[CALayer alloc]initWithLayer:anotherUIImageView.layer]; 

[myUIImageVIew.layer addSublayer:layer]; 

[[myUIImageView.layer.sublayers objectAtIndex:0] setHidden:NO]; 
[[myUIImageView.layer.sublayers objectAtIndex:0] setBackgroundColor:[UIColor blackColor]]; 

任何想法?

回答

4

设定一些界限的层和指定的颜色,所以你可以看到它

CALayer* layer = [CALayer layer]; 
layer.bounds = CGMakeRect(0, 0, 10, 20); 
layer.backgroundColor = [[UIColor greenColor] CGColor]; 
[myUIImageVIew.layer addSublayer:layer]; 

此外,从documentaion[CALayer initWithLayer:]的:

注意:在任何其他情况下调用此方法会产生未定义的行为。 请勿使用此方法使用现有图层的内容初始化新图层。

+0

是的!感谢Davyd,我必须假设我曾经没有阅读关于这个主题的整个Apple文档。时间不见了,所以我失去了它! thx再次 – NightCoder