ViewController中父视图后面的子视图?

时间:2012-08-14 14:09:06

标签: ios uiview uiviewcontroller subview

是否可以在父视图后面显示子视图?如果观点是兄弟姐妹,显然你可以这样做;然而,我的视图是ViewController层次结构的一部分,据我所知,ViewController不能有多个视图。

换句话说,我有这个层次结构:

ViewController
-->ViewController's view
------>subview

基本上,我只想让“subview”落后于“ViewController的视图”。这些都不是模态的 - 两种观点都是一直存在的。

上下文:“ViewController的视图”是基于OGL的应用程序的主视图。我需要在主视图后面显示一个恒定的背景(用户可选)。

2 个答案:

答案 0 :(得分:0)

Justin是对的,你的问题很混乱,因为将视图(1)放在另一个视图(2)的顶部会遮挡原始视图(1)。我想你想问一下你是否可以在viewController的“主”视图中“后面”或“下面”添加子视图。答案是不,您只能将子视图添加到“主”视图(viewcontroller的视图属性)。

但是,只需将背景视图添加到主视图(viewcontroller的视图属性),然后在顶部添加其他视图。

顺便说一句,viewController用于控制多个视图(主视图及其子视图)。

答案 1 :(得分:0)

创建您的背景视图,可能是UIImageView或其他东西,然后将其添加为子视图并将其移至后面。

UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.png"]];
[backgroundImage setFrame:CGRectMake(0, 0, 320, 480)];
[self.view addSubview:backgroundImage];
[self.view sendSubviewToBack:backgroundImage];

您可以使用sendSubviewToBack:bringSubviewToFront:insertSubview:aboveSubview:insertSubview:belowSubview:insertSubview:atIndex:exchangeSubviewAtIndex:withSubviewAtIndex:来组织子视图的层次结构(谁最重要的是。subviews属性返回所有子视图的NSArray,以便它们出现在屏幕上。