7

我正在用splitview創建一個iPad應用程序,這裏是截圖, enter image description here 在這一個中,當我更改masterview控制器(左側)中的選項卡時,我想更新右側tableview中的值, 。這將是一個很好的方法,我應該爲每個選項卡更改加載另一個視圖控制器嗎?可能嗎?或者只是更新表格?對於我想用不同數據顯示tableview的所有選項卡更改。 我使用下面的代碼,我可以看到日誌中的更改,但表沒有更新。如何更改詳細視圖中的UITableView更改彈出式控制器中的tabbar?

- (void)setDetailItem:(id)newDetailItem 
{ 
    if (_detailItem != newDetailItem) { 
     [_detailItem release]; 
     _detailItem = [newDetailItem retain]; 

     // Update the view. 
     [self configureView]; 
    } 

    if (self.masterPopoverController != nil) { 
     [self.masterPopoverController dismissPopoverAnimated:YES]; 
    }   
} 

- (void)configureView 
{ 
    // Update the user interface for the detail item. 
    if (isStudent) { 
     textStr = @"student"; 
     NSLog(@"Student....%@",textStr); 
     [self.tableView reloadData]; 
    }if (isTeachers) { 
     textStr = @"teacher"; 
     NSLog(@"Teacher....%@",textStr); 

     [self.tableView reloadData]; 
    }if (isPreference) { 
     textStr = @"preference"; 
     NSLog(@"Preference....%@",textStr); 

     [self.tableView reloadData]; 
    }if (isConfiguration) { 
     textStr = @"configuration"; 
     NSLog(@"Configuration....%@",textStr); 

     [self.tableView reloadData]; 
    } 
} 

我也試過

[self performSelectorOnMainThread:@selector(refreshTableView) withObject:nil waitUntilDone:NO]; 

請分享您的想法。 謝謝:)

+0

我想我無法更新界面中的任何對象。我試圖更新UILabel,但我不能。但是我可以在NSLog中打印狀態更改。 – Mithuzz 2012-02-17 09:03:48

回答

4

最後我自己發現了這個問題,我非常喜歡搜索解決方案。我經歷了幾個論壇和教程。最後我想出了這個問題。在這個video中,他們已經說明了如何使用XCode 4.2創建SplitView應用程序。在這一個中,只有一行代碼解決了這個問題。這是在Appdelegate.m文件中。在默認情況下,MasterViewController無法訪問詳細信息視圖,因此如果我們需要在detailview上執行某些操作,則必須連接masterviewcontroller和detailviewcontroller。檢查視頻,然後你會(那些面臨同樣問題的人)瞭解。

謝謝:)

相關問題