是否可以在父视图后面显示子视图?如果观点是兄弟姐妹,显然你可以这样做;然而,我的视图是ViewController层次结构的一部分,据我所知,ViewController不能有多个视图。
换句话说,我有这个层次结构:
ViewController
-->ViewController's view
------>subview
基本上,我只想让“subview”落后于“ViewController的视图”。这些都不是模态的 - 两种观点都是一直存在的。
上下文:“ViewController的视图”是基于OGL的应用程序的主视图。我需要在主视图后面显示一个恒定的背景(用户可选)。
答案 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
,以便它们出现在屏幕上。