2009-06-07 84 views
1

我有一個特定的UIViewController(ViewController1),它顯示了數據庫的內容。 我想顯示另一個視圖控制器(ViewController2)如果數據庫之前沒有加載。視圖控制器之間的選擇

所以當用戶輸入ViewController1並且數據庫之前沒有加載時,我想把他帶到ViewController2而不是ViewController1。

事情是這樣的:

@implementation ViewController1 

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    if (isDatabaseLoaded) {show contents of ViewController1;} 
    else {take user to ViewController2;} 
} 

我該怎麼辦呢?什麼是最優雅的方式來做到這一點?

預先感謝您。

回答

2

您有幾個不同的選項。

  1. 您可以推送到ViewController2。

    [ViewController1.navigationController pushViewController:ViewController2 animated:YES];

  2. 可以呈現ViewController2

    [ViewController1 presentModalViewController:ViewController2動畫:YES];

  3. 可以簡單地換出ViewController1的視圖到ViewController2

    ViewController1.view = ViewController2.view;

+0

我嘗試了第二個選項 - presentModalViewController。但在這種情況下,整個屏幕被ViewController2遮蔽。甚至標籤欄也被遮蓋了。我怎樣才能避免這種情況? – 2009-06-07 14:58:02

0
if (!isDatabaseLoaded) 
    [self.navigationController pushViewController:ViewController2 animated:YES]; 
相關問題