2017-12-15 1 views
-1

Ich erstelle Tabellenansicht in for-Schleife. Nach dem einmaligen Looping müssen die TableView-Delegate-/Datenquellenmethoden aufgerufen werden. Aber hier Methoden (Delegierter/Datenquelle) rufen nach Schleife Finishing, wie die Daten zu laden in TableviewsSo legen Sie Daten für mehrere Tabellenansichten in for-Schleife fest

Ich bin die Darstellung von Tabellen in Scrollview basierend Seite Controller

for(int i=0; i < 10; i++) 
{ 
table_obj[i] = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 700, 500)]; 
      table_obj[i].separatorStyle = UITableViewCellSeparatorStyleNone; 
      table_obj[i].separatorColor = [UIColor clearColor]; 
      table_obj[i].delegate = self; 
      table_obj[i].dataSource = self; 
      table_obj[i].backgroundColor = [UIColor clearColor]; 
      [scrollview addSubview:table_obj[i]]; 

      [table_obj[i] reloadData]; 
} 

gleiche Frage, die ich hier How to call UItableview Delegate methods. When tableview is in "for" Loop? gefunden, aber es ist nicht Arbeiten für meine Seite

+0

den Code schreiben Sie uns Ihre Frage zu verstehen helfen –

+0

Sie Tableview innerhalb Scroll hinzufügen kann Problem ist, dass, wenn Sie auf Tableview klicken versuchen, wird es die Scroll Berührung erkennen, so Konflikt zwischen UITableView und Scroll Touch gibt. –

+0

@ Pradip Rathod ich denke, dies ist nur eine Möglichkeit, Seite-Controller in Einzelansicht zu erhalten – Nagendar

Antwort

0

Ich denke, Sie sind mit mehreren TableView Objekt in einer einzigen Klasse, aber mit der Verfügbarkeit von einem delegate und dataSource Methoden verwirrt.

Das ist, wie Sie Delegieren von mehreren tableViews mit einzelnen Delegationen implementieren können.

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if (tableView == table_obj[0]) { 
     //This method is invoked by the tableview available at index 0 in table_obj array. 
     //return number of cells you want to show in this tableView 
     return 5; 

    }else if (tableView == table_obj[1]) { 
     //This method is invoked by the tableview available at index 1 in table_obj array. 
     //return number of cells you want to show in this tableView 
     return 10; 
    }else if (tableView == table_obj[2]) { 
     //This method is invoked by the tableview available at index 2 in table_obj array. 
     //return number of cells you want to show in this tableView 
     return 15; 
    }else { 
     //if doesn't match with any tableView in array then just return 0 
     return 0; 
    } 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    if (tableView == table_obj[0]) { 
     //This method is invoked by the tableview available at index 0 in table_obj array. 
     //create cells for this tableView and set Data 
     UITableViewCell *cell = [[UITableViewCell alloc] init]; 
     return cell; 

    }else if (tableView == table_obj[1]) { 
     //This method is invoked by the tableview available at index 1 in table_obj array. 
     //create cells for this tableView and set Data 
     UITableViewCell *cell = [[UITableViewCell alloc] init]; 
     return cell; 
    }else if (tableView == table_obj[2]) { 
     //This method is invoked by the tableview available at index 2 in table_obj array. 
     //create cells for this tableView and set Data 
     UITableViewCell *cell = [[UITableViewCell alloc] init]; 
     return cell; 
    }else { 
     UITableViewCell *cell = [[UITableViewCell alloc] init]; 
     return cell; 
    } 

} 
+0

Wenn wir die Anzahl der Tabellenaufrufe kennen, können wir auf diese Weise umgehen. In meiner Tabelle wird die Anzahl der Tabellen aus der REST-API kommen. – Nagendar

+0

Sie meinen, Sie kennen nicht auch die Anzahl der Tabellenansichten? –

+0

yeah ich zähle nicht – Nagendar

Verwandte Themen