2013-07-13 45 views
-1

我有一個應用程序,用戶可以在打開應用程序時選擇他們想要加載的默認選項卡。 我有一個設置表視圖控制器,我在故事板中創建。我將它設置爲靜態單元格,並創建一個用戶可以按下的單元格,並使用push segue來顯示具有單元格的另一個tableview,以供用戶選擇以選擇默認選項卡。在主設置表格視圖中的單元格上,我有一個顯示當前選定選項卡的標籤,並且在視圖加載時設置該標籤的文本。我遇到的問題是,當用戶進入選項卡選擇表視圖,選擇一個選項卡,然後返回到主設置tableview,-(void)viewDidLoad方法不會被調用。我如何調用該方法,或者在用戶返回主設置tableview時調用的新方法中複製該方法中的內容?如何在返回tableview時重新加載視圖?

這裏是我目前在我的viewDidLoad方法的代碼:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 


    NSUserDefaults *theDefaults = [NSUserDefaults standardUserDefaults]; 
    int theInt = [theDefaults integerForKey:@"defTab"]; 
    NSString *theString; 
    switch (theInt) { 
     case 0: 
      theString = @"Home"; 
      break; 
     case 1: 
      theString = @"2D"; 
      break; 
     case 2: 
      theString = @"3D"; 
      break; 
     case 3: 
      theString = @"Calculator"; 
      break; 
     case 4: 
      theString = @"Extras"; 
      break; 
     default: 
      break; 

    } 

currentTabLabel.text = theString; 
} 

在此先感謝。

+0

可能重複的目的C:?如何切換標籤後立即刷新實現代碼如下(http://stackoverflow.com/questions/6398183/objective-c-how-to-reload-tableview-immediately-後切換標籤) – wattson12

+0

甚至不接近重複。請閱讀正在提問的問題,並查看該帖子中提問的問題。然後評論可能的重複。 – Milo

+0

閱讀最高評價答案(不是接受的答案),似乎表明同樣的問題。你的問題是不同的,但我認爲潛在的問題是相同的 – wattson12

回答

3

使用:

-(void)viewDidAppear:(BOOL)animated { 
    [self.tableView reloadData]; 
} 
+0

謝謝你一個很好,清晰的答案。與某些用戶不同*咳嗽* @ wattson12 – Milo

+2

您通常希望調用這些UIViewController方法的超類實現。 例如''超級viewDidAppear:動畫];' –

0

使用。

-(void)viewWillAppear:(BOOL)animated { 
    [self.tableView reloadData]; 
} 
+0

你明白問題嗎? – Navi