2015-09-01 51 views
0

我有兩個視圖,一個是從界面構建器創建的,另一個是以編程方式創建的。sendSubviewToBack不適用於從xib創建的視圖

我想要做的是讓程序創建的視圖轉發。但是xib創建的視圖始終顯示在第一個視圖上。在viewDidLoad中,我使用sendSubviewToBack:來做到這一點,但似乎這個代碼不起作用。

有些人可能會說我只能通過xib(或者只能通過代碼)創建這些視圖。但我不想這樣做。

有沒有一個很好的解決方案來實現這個目標?

您的想法和幫助將得到巨大的讚賞。

+0

from viewdidload如果你嘗試這樣做將無法正常工作。嘗試在Viewwillappear中執行相同的操作。這是因爲只有viewcontoller將被加載到viewdidload中。所有子視圖將在此之後加載。 –

+0

您是否在de xib-file中創建的視圖正確鏈接到您的代碼屬性? – Maarten

回答

0

最有可能你的問題是你打電話sendSubviewToBack:與視圖不是接收器的直接子視圖。

sendSubviewToBack:/bringSubviewToFront:方法適用於視圖的直接子視圖。所以,如果你喜歡這個視圖層次:

A 
\ 
    B - D 
    | 
    C - E 

(B和C是A的兩個子視圖; B有一子視圖d,C有一個子視圖E)

那麼你可以做[A sendSubviewToBack:C],但你不能做[A sendSubviewToBack:E]

請參閱also my answer to an old question that might help you

相關問題