2012-08-14 83 views
0

是否可以在父視圖後面顯示子視圖?如果意見是兄弟姐妹,顯然你可以做到這一點;我的觀點是ViewController層次結構的一部分,據我所知,ViewController不能有多個視圖。ViewController中父視圖後面的子視圖?

換句話說,我有這樣的層次:

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

基本上,我只是想「子視圖」是背後的「視圖控制器的看法。」這些都不是模態 - 兩種觀點都是一直存在的。

上下文:「的ViewController的觀點」是一個基於OGL的應用程序的主視圖。我需要在主視圖後面顯示一個常量背景(用戶可選)。

+0

子視圖通常被添加到視圖堆棧的頂部,但是,問題是有點混亂,你問如何在你的ViewController的看法上添加一個子視圖,但後來你說你要添加後面的背景主視圖....那麼你想要達到什麼目的? – 2012-08-14 14:14:31

+0

子視圖* *在他們父視圖的頂部。另外,如果這樣做有意義,則非常歡迎您將視圖層添加到視圖層次結構中。沒有規定VC的「主要」視圖需要做任何繪圖。如果你真的需要2個兄弟姐妹到「主」視圖,它可以簡單地成爲你的兩個兄弟姐妹視圖的容器。 – 2012-08-14 14:20:12

+0

哎呀!我向後寫了這個問題!我希望子視圖*在父視圖後面。 – 2012-08-14 14:30:31

回答

0

賈斯汀是正確的,你的問題是作爲放置一個視圖(1)上的另一視圖(2)的頂部將模糊原始(1)圖混亂。我認爲你的意思是問你是否可以在viewController的「main」視圖的「後面」或「下面」添加子視圖。答案是否定的,只能將子視圖添加到「主」視圖(視圖控制器的視圖屬性)。

然而,僅僅添加背景視圖到主視圖(視圖 - 控制的視圖屬性),然後在上面添加其他意見。

順便說一句,的viewController的是爲了控制多個視圖(主視圖和它的孩子)。

+0

viewController可以將多個視圖看作是同胞嗎? – 2012-08-14 14:30:55

+0

如果你有一個主要觀點有兩個孩子,那麼這兩個孩子將是彼此的兄弟姐妹。你也可以有一個主視圖,有兩個孩子是彼此的兄弟姐妹,每個孩子可以有多個孩子,這些孩子可以是彼此的兄弟姐妹等等。我想你想要一個主視圖有背景視圖作爲子視圖並且這是彼此兄弟姐妹的其他觀點的父母)。順便說一句,當你添加子視圖時,你可以使用bringSubviewToFront將子視圖放到前面。 – ader 2012-08-14 14:37:07

+0

沒錯,那可行。我將創建一個空視圖並將其作爲viewController的直接後代連接;將主視圖附加到空視圖;並將背景視圖附加到空視圖。然後,主視圖和背景視圖將是兄弟,並可以重新排序。不過,我擔心的是viewController與其直接後代之間存在「特殊」關係,並且將我的主視圖向下移動到層次結構中可能會破壞某些東西。我應該關心嗎? – 2012-08-14 14:59:30

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它們出現在屏幕上。

+0

這隻適用於兄弟姐妹意見。我的背景是viewController視圖的子視圖。我也想到了這一點,但是當我嘗試它時,子視圖保留在viewController視圖的頂部。 – 2012-08-14 14:48:40

+0

在我上面寫的例子中,我將子視圖添加到視圖控制器的視圖中。你如何準確地添加子視圖? – 2012-08-14 18:33:11

+0

展開。 viewController有一個'view',每個'view'有一個包含在該視圖中的'subviews'的NSArray。然後,最重要的是,每個「子視圖」都可以有自己的「子視圖」等。這些兄弟的東西需要放在這些術語中才能更有意義。如果您將此添加爲子視圖,您將其作爲子視圖添加到哪個視圖?你是否將其添加到viewcontroller的視圖?或者你是否將其添加到viewcontroller的視圖的子視圖? – 2012-08-14 18:39:12

相關問題