2013-04-16 67 views
0

我已經使用Xcode製作了主從應用程序。 不,我有以下問題/問題。如何使用主從應用程序中的AddButton創建新視圖

如果您按下「添加」按鈕頂部,我想創建一個新的視圖。我發現它是如何以編程方式工作的。

UIViewController *addView = [[UIViewController alloc]init]; 
[self.navigationController pushViewController:addView animated:YES]; 

但是新的視圖現在不在故事板編輯器中。我是否必須以編程方式創建標籤,textField等?或者有另一種方法來做到這一點。

Greets

回答

0

以編程方式創建的視圖不會顯示在故事板上。

如果它只是您想創建的一次性視圖,您可以將其添加到故事板,設置所有屬性和子視圖,將其設置爲hidden並將其綁定到伊娃。通過這種方式,您可以通過ivar訪問它,並在需要顯示時將hidden設置爲no。還有其他方法可以嘗試,但這很好,很容易。

+0

感謝您的快速回答。 你能舉一個例子嗎?我在這個主題上是全新的。 – dsieger

0

故事板視圖和編程創建的視圖可以很好地共存。如果你需要它們,無論出於何種原因,那麼在那裏創建視圖並從開始隱藏(並停用)它。在程序中,而不是創建一個新的,只需取消隱藏並激活它。

但是,沒有理由不以編程方式創建它。

有了它的工作原理是這樣的故事板: 每個視圖都有一個correspoinding nib文件XML格式,xib調用。加載視圖時,將加載此XML文件。您在IB/Storyboard中所做的所有視圖和設置都以XML格式存儲在那裏。然後該框架通過XML文件中的條目工作,並通過使用xml文件中的設置爲您編程創建視圖。

因此,最終,以編程方式創建的視圖與通過故事板創建的視圖沒有多大區別。

對於編程創建的視圖:

  • 你不需要的屬性。
  • 如果您需要,它不需要標記爲IBOutlet
  • 以編程方式創建的視圖 的屬性應爲strong。 IB/Storyboard IBOutlet視圖屬性可以是weak
  • 故事板不會「知道」它們。因此,您不能將stoyboard中的 連接到相關操作等。但您可以調用 segogram programmaticaly並且故事板將繼續運行。
相關問題