2012-09-27 36 views
1

在一個UIVIew我有5個圖標(UIImageView)。我顯示/隱藏圖標。沒關係。但我想如果我隱藏2圖標其餘什麼不隱藏(或不刪除)顯示中心的視圖。UIView中心X UIImageView

如果顯示所有:

http://sherad.info/elotte.jpg

我從圖2圖標(我嘗試設定HIDEN但效果相同)除去

[份額removeFromSuperview]; [sms removeFromSuperview];

在此之後:

http://sherad.info/utana.jpg

我想在觀看中心的3圖標顯示。所以不知何故重新排列UIView中的圖標。我如何解決這個問題? thx。

回答

1

我會假設圖標後面的黑色區域是UIView,並且圖標已添加到靜態位置?相反,如果您創建了第二個透明的UIView,該怎麼辦?確定要顯示的圖標並將它們添加到第二個視圖中。它會與第二種觀點是完全相同的大小與第一種觀點開始,但一旦你想顯示少,從第二視圖

for (yourIcon *icon in [secondView subviews]) { 
    [icon removeFromSuperview]; 
} 

刪除所有圖標復位第二視圖的幀是你想和重新添加圖標,然後將其放置在第一觀看

secondView.center = firstView.center; 

的中心,無論是做

[secondView setNeedsDisplay] 

,或者重新添加,就好像你的firstView的子視圖的長度前僱主只是刪除它(我不認爲是必要的)。

+0

thx,這個我解決了我的問題... thx再 – Sherad

+0

不客氣。如果可以,請在我的文本左側選擇我的答案爲正確(複選標記)。 – TheJer

0

子視圖應該根據其他圖標的位置來定位它們相對於彼此的位置。每次發生添加或刪除圖標的事件時,都應該調用一些佈局代碼,以使圖標自己位於其中。

刪除視圖應該有superview統計添加的子視圖,根據屏幕寬度除以計數創建新的x座標,然後設置所有子視圖的框架。

可能有一種方法可以用autolayout來做到這一點,但我並不熟悉這些方法。