隐藏超视图而不隐藏其子视图
问题描述:
一般我知道有这方面的解决方法,但有没有在iOS SDK中隐藏超视图隐藏其子视图的任何简单方法?隐藏超视图而不隐藏其子视图
我有一个父视图,是一些其他视图的背景。我想通过将其透明度设置为0或设置“隐藏”等来隐藏父项,问题是这些更改会影响父项的所有子视图。
我再次意识到,通常有解决方法,但在这种情况下,我正在处理一个mapView,我的子视图是注释和覆盖。
感谢,-Matt
答
更新
是的,一个的MKMapView将有几层在它的渲染,所以上设置backgroundColor不会工作。你可以尝试继承MKMapView以添加一个属性来打开/关闭这些图层(通过删除/重新添加它们到视图中)。但是这看起来很危险。
您可以尝试将MKMApView的“clipsSubviews”设置为NO/FALSE,并将帧重置为0,0,0,0。但这会影响您将Touch事件添加到您的子视图的能力。
这可能是更好的解决方案来重新评估您的视图层次结构。让它像:
main-view
map-view
transparent-view
control-1
control-2
etc.
原始
设置的backgroundColor为[的UIColor clearColor]
我想我应该是比较清楚 - 这个具体情况正在处理的MKMapView作为父视图。似乎你不能设置背景颜色来清除 - 没有发生什么事情:( – mag725 2010-11-19 16:43:47
我明白了,我会更新我的答案。 – TomSwift 2010-11-19 16:52:57