2012-09-13 43 views
0

我有一個UIView包含登錄表單,但是當用戶已經登錄時,我想顯示一個註銷按鈕而不是表單。重疊子視圖的最佳替代

我目前的做法是爲登錄表單和登錄按鈕創建一個子視圖,在Interface Builder中相互重疊。

我只會一次顯示其中一個子視圖。

有沒有更好的方法做到這一點,所以它更容易在Interface Builder中設計,而仍然使用相同的UIViewController

如果重要,視圖是模態視圖。

回答

2

你可以調整你的UIViewController實際上是一個UITabBarController,但調整標籤欄,這樣當控制器推到屏幕上是不可見的:

self.hidesBottomBarWhenPushed = YES;

這應該允許您:

  1. 視圖之間切換編程容易
  2. 管理兩個(或更多)獨立的UIViewController實例在IB容易,withou t重疊
0

對於視圖控制器的可選/模式部分,過去我曾經使用過多次的方法是爲每個部分創建一個視圖作爲nib中的頂層對象。您可以更輕鬆地使用界面構建器來安排每個視圖,然後您需要在代碼中執行所有操作,然後將相應的視圖有條件地添加到viewDidLoad方法中的主視圖中。請記住,作爲筆尖的頂級對象,他們應該有強大的渠道,而不是弱勢渠道。

+0

如何編輯/查看IB中的視圖時它是否爲頂級對象? – Tyilo

+0

與主視圖相同的方式。它們之間的唯一區別是主視圖連接到視圖控制器的'view'插座。 – Jim

+0

當我在IB中選擇它時,它不顯示。 – Tyilo