2012-08-15 56 views
0

我有我在界面生成器中设计的UIViewController。在它的顶部附近有一个UIImageView,然后是一些其他的视图(文本等)下面。这些被设置为锚定到视图的顶部。隐藏或删除UIImageView和排列(IOS 5)

在视图加载的代码中,我在某些情况下删除了UIImageView,但它似乎仍占用空间,或者下面的视图不会根据它们的Anchor弹出到顶部。

如何删除上面的视图,让下面的视图向上移动?

回答

1

可以更改其他元素的框架在视图中。

中您可以使用类似的东西viewDidLoad方法

-(void)viewDidLoad{ 
    if(imageVisible){ 
     otherElements.frame = CGRectMake(....); 
    }else{ 
     otherElements.frame = CGRectMake(....); 
    } 
} 

我不知道什么是视图的结构,但你可以考虑嵌套所有其他元素在一个视图中,所以你可以改变一个命令中的所有元素位置。

+0

谢谢,将不得不手动它似乎。 – Mark 2012-08-16 08:36:59

+0

高兴地帮助:) – shannoga 2012-08-16 10:35:54

1

与Android视图层次结构不同,iOS视图层次结构都是以绝对坐标开发的。当你说子视图锚定在顶部时,这意味着如果父视图的大小发生变化,你的视图将保持与屏幕顶部相同的相对位置。

为了使图像视图下方的意见拉升当图像被隐藏或删除,则必须自己手动安排他们占偏移