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

Ios ViewController中父视图后面的子视图?,ios,uiview,uiviewcontroller,subview,Ios,Uiview,Uiviewcontroller,Subview,是否可以在父视图后面显示子视图?显然,如果视图是兄弟视图,您可以这样做;然而,我的视图是ViewController层次结构的一部分,据我所知,一个ViewController不能有多个视图 换句话说,我有这样的层次结构: ViewController -->ViewController's view ------>subview 基本上,我只希望“子视图”位于“ViewController的视图”后面。这一切都不是模态的——两个视图始终存在 上下文:“ViewController

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

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

ViewController
-->ViewController's view
------>subview
基本上,我只希望“子视图”位于“ViewController的视图”后面。这一切都不是模态的——两个视图始终存在


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

贾斯汀是对的,您的问题令人困惑,因为将一个视图(1)放在另一个视图(2)的顶部会模糊原始视图(1)。我想您的意思是询问是否可以在viewController的“主”视图的“后面”或“下面”添加子视图。答案是否定的,您只能将子视图添加到“主”视图(viewcontroller的view属性)中

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


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

创建背景视图,可能是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];

您可以使用
sendsubview toback:
将子视图带到前台:
插入子视图:上方子视图:
插入子视图:下方子视图:
插入子视图:索引:
交换子视图索引:与子视图索引:
来组织子视图的层次结构(谁位于谁的上方)
subviews
属性返回所有子视图的
NSArray
,以便它们显示在屏幕上。

子视图通常添加到视图堆栈的顶部,但是,问题有点混乱,您询问如何在viewcontroller的视图顶部添加子视图,但是,你说你想在主视图后面添加一个背景……那么你到底想实现什么呢?子视图位于其父视图的“顶部”。此外,如果有必要的话,我们完全欢迎您将层添加到视图层次结构中。VC的“主”视图不需要进行任何绘图。如果您实际需要“main”视图的两个同级视图,那么它可以是两个同级视图的容器。Ooops!我倒着写了那个问题!我希望子视图位于父视图后面。viewController能否将多个视图视为兄弟视图?如果主视图有两个子视图,则这两个子视图将是彼此的兄弟视图。您也可以有一个主视图,其中有两个子视图是彼此的兄弟姐妹,每个子视图可以有多个子视图是彼此的兄弟姐妹等。我认为您需要一个主视图,该主视图具有作为子视图的背景视图,并且这是彼此兄弟姐妹的其他视图的父视图)。顺便说一句,当你添加子视图时,你可以使用bringSubviewToFront将一个子视图带到前面。好的,那就行了。我将创建一个空视图,并将其连接为viewController的直接后代;将主视图附加到空视图;并将背景视图附加到空视图。然后,主视图和背景视图将是兄弟视图,并且可以重新排序。不过,我担心的是,viewController与其直接后代之间存在一种“特殊”关系,将主视图在层次结构中向下移动一层可能会破坏某些东西。我应该关注这个问题吗?让我进一步讨论这个问题:viewController是一个GLKViewController,主视图是一个GLKView。如果是我,我唯一担心的是方向发生变化,并确保在必要时正确地重新定位所有内容,但如果不嵌套多个ViewController,则不应成为问题。这仅适用于同级视图。我的背景是viewController视图的子视图。我也想到了这一点,但当我尝试时,子视图仍然位于viewController视图的顶部。在我上面写的示例中,我将子视图添加到视图控制器的视图中。如何准确地添加子视图以展开。viewController有一个
视图
,每个
视图
都有一个
NSArray
子视图,包含在该视图中。然后,除此之外,每个
子视图
都可以有自己的
子视图
,等等。这些同级内容需要放在这些术语中才能更有意义。如果要将其作为子视图添加,则要将其作为子视图添加到哪个视图?是否将其添加到viewcontroller的视图中?或者将其添加到viewcontroller视图的子视图中?