2010-11-19 101 views
1

一般我知道有這方面的解決方法,但有沒有在iOS SDK中隱藏超視圖隱藏其子視圖的任何簡單方法?隱藏超視圖而不隱藏其子視圖

我有一個父視圖,是一些其他視圖的背景。我想通過將其透明度設置爲0或設置「隱藏」等來隱藏父項,問題是這些更改會影響父項的所有子視圖。

我再次意識到,通常有解決方法,但在這種情況下,我正在處理一個mapView,我的子視圖是註釋和覆蓋。

感謝,-Matt

回答

1

更新

是的,一個的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]

+0

我想我應該是比較清楚 - 這個具體情況正在處理的MKMapView作爲父視圖。似乎你不能設置背景顏色來清除 - 沒有發生什麼事情:( – mag725 2010-11-19 16:43:47

+0

我明白了,我會更新我的答案。 – TomSwift 2010-11-19 16:52:57