2012-03-12 37 views
1

我在我的視圖中有4個選項卡按鈕。點擊它們後,我有4個陣列被填充。現在我需要將這些數組顯示在同一個表中。取決於點擊按鈕,表格中的內容應該改變。如何才能做到這一點?用不同的NSMutableArrays加載UITableView

回答

0

添加UITabBarControllerDelegate

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {   

switch (tabBarController.selectedIndex) { 
    case 1: 
     table_mutableArray=nil; 
     [table_mutableArray addObjectsFromArray:tab1_array]; 

     break; 
    case 2: 
     table_mutableArray=nil; 
     [table_mutableArray addObjectsFromArray:tab2_array]; 

     break; 
    case 3: 
     table_mutableArray=nil; 
     [table_mutableArray addObjectsFromArray:tab3_array]; 

     break; 
    default: 
     table_mutableArray=nil; 
     [table_mutableArray addObjectsFromArray:tab4_array]; 
     break; 
} 
[tableview reloadData]; 
} 
+0

感謝ü非常@Piyush帕特爾.... – Priyanka 2012-03-12 10:22:11

1

根據選擇加載一個表或其他的,像按鈕:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 
    if (buttonSelected == 1) return [myArray1 count]; 
else if (buttonSelected == 2) return [myArray2 count]; 
} 

這一切對於表視圖的所有數據源/委託。

而另一件事,按下按鈕後不要忘記撥打:

[myTableView reloadData]; 

重繪上取決於你的按鈕表中的信息

0

你必須採取一個主陣像tableArray1;

你必須在tableview委託和數據源方法中使用tableArray1。你有四個數組作爲數組1,數組2,數組3和數組4;

在viewdidload第一次給tableArray1 = array1;

當tabbutton cliked方法

一樣,如果BUTTON1

然後

tableArray1 = ARRAY1;

[tableview reloadData];

如果BUTTON2

然後

tableArray1 =數組2;

[tableview reloadData];

如果BUTTON3

然後

tableArray1 = ARRAY3;

[tableview reloadData];

如果將Button4

然後

tableArray1 = array4;

[tableview reloadData];

試試這個邏輯我希望這將有助於你

0

應實現表源委託方法:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

他們應該返回根據您所顯示的當前選擇的陣列上的數據。

然後,當點擊一個按鈕時,調用表的reloadData方法來更新它。