2012-04-18 105 views
0

我在运行时创建一个视图,并使用它的drawRect:来绘制一个图。在下一步中,我将一个图像内容的子图层添加到视图图层,然后显示它。有用。但视图中的数字仍然显示在图像下方。在创建子图层之前,使用view.layer.contents = nil;,视图上的图被删除。但我需要再次展示它。用[view setNeedsDisplay];(呼叫drawRect:)我可以再画一遍。UIView:隐藏绘图并再次显示

是否有任何(更简单)的方法来隐藏(或覆盖)此图并再次显示(不删除和重绘它)?谢谢。

编辑: 我可以这样做:layer.backgroundColor = [UIColor blackColor].CGColor;该图被覆盖。但backgroundColor必须是透明的。非常感谢其他想法。

回答

0

您可以使用:

view.layer.hidden = YES; 

如果你只想隐藏和显示一个子层,可以保持一个参考的保持到底层,或通过查找view.layer.sublayers找到它。

+0

谢谢。但是如果视图图层隐藏,我添加的子图层也会隐藏。 – suyama 2012-04-19 17:38:54

+0

你可以找到子图层,然后调用sublayer.hidden = YES; – 2012-04-20 09:47:06

相关问题