2012-06-18 159 views
2

我有一個UIViewController,名爲LoginViewController,它是AppDelegate中的rootViewController。在LoginViewController中,我有兩個按鈕:LoginEnroll如何將UIViewController作爲子視圖添加到UIViewController(RootViewController)?

當我點擊Login時,我指定TabBarController作爲rootViewController,然後顯示TabBarController。不過,現在我想我需要添加另一個UIViewcController作爲子視圖,當我點擊Enroll。我試過如下:

[self.view addsubview:viewcontroller.view]; 

但這裏的問題是屏幕下方頂部20像素左右我的ViewController的view.top被固定。我認爲狀態欄有問題,但我無法弄清楚如何解決它。

我認爲我需要將我的ViewController作爲子視圖添加到LoginViewController,然後從那裏重定向到不同的視圖。有人可以建議其他選項嗎?

回答

1

你不應該讓一個UIViewController另一UIViewController的視圖的子視圖。如果將子視圖視爲普通UIView(如果不是這兩個視圖),那麼您可能想要執行的操作,以便在屏幕上只有一個UIViewController,並佔用整個屏幕。

這裏更多:How to add an UIViewController's view as subview

2

嘗試將幀設置爲您的註冊屏幕對象,然後將其作爲子視圖添加到loginview。 例如:

[enrollViewcontroller.view setFrame:CGRectMake(0,0,320,440)]; 
[self.view addsubview:enrollViewcontroller.view]; 
+1

變化根據您的要求的框架。因爲它下降了20個像素,所以嘗試像這樣改變y軸位置CGRectMake(0,-20,320,440)並檢查。 – Dee

+0

這是正確的方式來啓動在-20座標烏爾幀?連我都不知道的 –

+0

。一旦它爲我工作。所以建議你。 – Dee

0

而不是增加一個UIViewController作爲一個子視圖到另一個的UIViewController,我決定提出我的ViewController作爲ModalViewController使用

[self presentModalViewController:myViewController animated:YES]; 
相關問題