2013-06-25 77 views
1

我有一個storyboard,我試圖更改UIView以設置我創建的自定義漸變視圖。動態更改故事板的UIView並保留子視圖的其餘部分

我試過self.view = myNewViewWithGradient;並且顯示了漸變,但由於我正在替換當前視圖,因此沒有其他元素可以看到。

如何動態設置新視圖並保留故事板中添加的元素?

我試着重新添加子視圖(有一個引用插座)到這個新的視圖,但沒有顯示。

[self.view addSubview:self.txtPassword]; 

感謝您的幫助。

更新:這是在故事板設置的網點的截圖:

enter image description here

回答

0

您可以將所有子視圖添加到您的新觀點,是這樣的:

[myNewViewWithGradient setFrame:self.view.frame]; 
for (UIView* v in [self.view subviews]) { 
    [myNewViewWithGradient addSubview:v]; 
} 
self.view = myNewViewWithGradient; 

,但我看不到你想達到什麼,你只是想要一個新的背景?你可以服用點,如:

[self.view addSubview:myNewViewWithGradient]; 
[self.view sendSubviewToBack:myNewViewWithGradient]; 

sendSubviewToBack:myNewViewWithGradientUIView?如果它不起作用,請提供更多信息,以便我們能更好地幫助您:)

+0

這兩個都是我想不到的優秀解決方案。儘管我在訪問self.view時遇到了問題,即使當我調用if(self.view!= NULL)時也是如此。 xcode變得瘋狂,好像它被困在一個循環中一樣。所以我無法用您的任何一種解決方案來設定新視圖。你知道在修改鏈接到故事板的self.view時是否有任何限制嗎?謝謝! – marimaf

+0

不,我不這麼認爲,你的錯誤可能在另一部分,你的網點是否正確安裝?還要檢查一下你的故事板,因爲從你在這裏發佈的內容來看,它應該是有效的。 – ggrana

+0

我已經在故事板中添加了插座的屏幕截圖。我相信它們設置正確。 myNewViewWithGradient是一個UIView。當我做self.view = myNewViewWithGradient它顯示正確,但所有其他元素(按鈕和txtviews)都沒有了。 – marimaf

相關問題