2017-08-30 1 views
-1

Scrollen ich bin mit zwei nebeneinander auf einem Tableviews Scrollview ..Zwei Tableviews Fehler beim

Scrollview - Bildschirm Breite * 2, die nur horizontal scrollbaren sein kann. zwei Tabellenansichten, nur eine Tabellenansicht erscheint auf dem Bildschirm für Scrolls.

für jede Tabellenansicht bekomme ich die Daten vom Server und ich speichere es lokal.

Das Problem hier ist, wenn die Zeilenanzahl der Tabellenansicht, die ich nach dem Bildlauf anzeigen möchte, das Programm abstürzt, da es den Indexwert des vorherigen nimmt.

Angenommen, iam hat 10 Einträge im ersten Tableview-Array und 20 im zweiten Tableview-Array. Wenn ich in die zweite Tabellenansicht verschoben und bis zu 20 Index scrollt und wenn ich zurück scrollen, um die erste Tabellenansicht während Tabellenansicht scrollen, sucht es nach dem Indexpfad 20. So bekomme ich den Fehler.

, wenn ich zurück zum ersten Tableview scrollen, wenn Tableview i auch keinen Fehler scrollt nicht immer bin, wenn der aktuelle Indexpfad des zweiten Tableview ist 20.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 
{ 
    if (selecetedSearchIndex == 0){ 
     UITableViewCell *cell ; 
     // code for cell 

     return cell; 
    } 
    else{ 
     UITableViewCell *cell ; 
     // code for cell 

     return cell; 
    } 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 
{ 
    if (selecetedSearchIndex == 0) 
    { 
     return firstArr.count; 
    } 
    else{ 
     return secondArr.count; 
    } 
} 

// selecetedSearchIndex ist der Indexwert zu identifizieren, die Tableview auf dem Bildschirm zeigt

Kann mir jemand helfen, auf diesem ....

+1

Weitere Code bitte hinzufügen. Wir müssen wissen, wie Sie diese TableViews zu Ihrem scrollView hinzugefügt haben. –

+1

Es tut mir leid, aber warum müssen Sie 2 Tabellenansichten in einer Bildlaufansicht verwenden? Warum nicht nur eine Tabellenansicht mit 2 Abschnitten - Sie können Zellen nachher anpassen. –

Antwort

0

Ihre Frage ist unvollständig Aber gängigste Lösung für diese Art von Problem ist es, zuerst das Scrollen von einem Tableview zu stoppen, bevor das Scrollen andere Tableview

[tableView setContentOffset:tableView.contentOffset animated:NO]; 

wenn dies nicht funktioniert, geben Sie bitte Ihre Absturzprotokolle

+0

ya es funktioniert ... vielen Dank –

-1

kann die Höhe gleichzeitig zur Verfügung gestellt werden nicht berechnen teilen. Die einfache Lösung wäre, den Constraint-Ausgang seiner Höhe zu machen und seine Programmkonstante konstant einzustellen.

//////////// @Eigenschaft (nichtatomisch, schwach) NSLayoutConstraint * heightConstraint;

////////// heightConstraint.constant = 100;

Verwandte Themen