2012-09-27 37 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来做到这一点,但我并不熟悉这些方法。