Grouped TableView nicht scrollbar

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2021 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • Grouped TableView nicht scrollbar

    Hello,

    hab eine TableView mit mehreren Sections (3Stk.) wenn ich die TableView als Child in einen UIViewController einbinde, kann ich in den Einstellungen im IB "Grouped" wählen. Dann erscheint sie in auf der Oberfläche "grouped", aber ist nicht scrollbar. Wenn ich die TableView als Parent laufen lasse, kann ich zwar im IB "Grouped" als Style einstellen, aber die Table erscheint ganz normal (also nicht grouped Style), ist aber scrollable.

    Jedes mal sind im IB die scrollable Eigenschaften angehakt.

    Viele Grüße,
    mybecks
  • ja die Table ist größer als der Sichtbare bereich und wird deshalb abgeschnitten. Das lustige ist ja, dass im IB Scrolling enabled ist.
    Habe mal einen Screenshot der Scrolling eigenschaften angehängt.

    Kanne s etwas damit zu tun haben, dass die letzte Section aus einer CustomCell besteht, welche eine TextView beinhaltet?
  • Wie setzt du die TableView denn in den UIViewController ? Ist der RootView des ViewContr0ollers UserInteraction enabled ? Hast Du alle delegate und datasource Methoden der Tableview richtig implementiert ?
    Wenn du das grouped weg machst dann geht es ? Auch mit mehreren Sections ?

    Es gibt unendlich viele Möglichkeiten warum das nicht scrollt. Am besten du zeigst uns mal was von Deinem Code


    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Der RootView des ViewControllers ist UserUnteraction enabled. wenn die Table im plain style angezeigt wird, funktioniert das scrollen auch nicht.

    delegate & datasource methoden wurden wie folgt implementiert, wurden auch im IB mit Files Owner verbunden (wenn nicht, würden ja keine daten angezeigt werden):

    PHP-Quellcode

    1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    2. if(indexPath.section != 2){
    3. static NSString *CellIdentifier = @"Custom";
    4. SNDetailsCell *cell = (SNDetailsCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    5. if (cell == nil) {
    6. NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SNDetailsCell" owner:self options:nil];
    7. cell = (SNDetailsCell *)[nib objectAtIndex:0];
    8. }
    9. NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
    10. NSDictionary *dict = [dictionary objectForKey:@"Data"];
    11. cell.description.text = [[dict allKeys] objectAtIndex:indexPath.row];
    12. cell.value.text = [[dict allValues] objectAtIndex:indexPath.row];
    13. return cell;
    14. }
    15. else{
    16. static NSString *CellIdent = @"Custom1";
    17. SNDetailsDescriptionCell *cell= (SNDetailsDescriptionCell*)[tableView dequeueReusableCellWithIdentifier:CellIdent];
    18. if (cell == nil) {
    19. NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SNDetailsDescriptionCell" owner:self options:nil];
    20. cell = (SNDetailsDescriptionCell *)[nib objectAtIndex:0];
    21. }
    22. NSDictionary *descr = [listOfItems objectAtIndex:indexPath.section];
    23. NSArray *arr = [descr objectForKey:@"Data"];
    24. cell.descriptionText.text = [arr objectAtIndex:indexPath.row];
    25. NSLog(@"descrText %@", cell.descriptionText.text);
    26. return cell;
    27. }
    28. }
    29. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    30. // Return the number of rows in the section.
    31. NSDictionary *dictionary = [listOfItems objectAtIndex:section];
    32. NSArray *array = [dictionary objectForKey:@"Data"];
    33. return [array count];
    34. }
    35. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    36. {
    37. // Return the number of sections.
    38. return [listOfItems count];
    39. }
    40. - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    41. {
    42. if(section == 0){
    43. return [NSString stringWithFormat:@"SN: %@", self.SN.snNumber];
    44. }else if(section == 1){
    45. return @"Details";
    46. }else{
    47. return @"Description";
    48. }
    49. }
    50. - (CGFloat)tableView:(UITableView *)t heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    51. if(indexPath.section == 2)
    52. return 257;
    53. else{
    54. return 44;
    55. }
    56. }
    Alles anzeigen
  • Hm,

    also eigentlich muss das funktionieren. Bau den ganzen ViewController doch noch einmal neu auf (neues File hinzufügen, UIViewController Type mit XIB) und füg dann im IB einfach nur eine TableView ein ohne irgendwas zu verstellen. Dann hast du noch die DataSource Methoden Dummys rein und schaust mal ob es sich dann bewegt. Es muss ja auch scrollbar sein wenn es leer ist. Wenn das schon nicht geht hast du irgendwas kaputt gemacht :)

    Ansonsten bliebe nur die Möglichkeit hier fröhlich weiterzuraten oder du stellst Dein Project hier rein.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Bist du sicher das das unter iOs so ist ? Also ich brauche nicht einmal das TableViewDelegate implementieren, denn es sind alles Methoden optional. Das einzige was ich implementieren muss sind die zwei required TableViewDataSources


    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

    // Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier:
    // Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)

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

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Hm,

    also eigentlich muss das funktionieren. Bau den ganzen ViewController doch noch einmal neu auf (neues File hinzufügen, UIViewController Type mit XIB) und füg dann im IB einfach nur eine TableView ein ohne irgendwas zu verstellen. Dann hast du noch die DataSource Methoden Dummys rein und schaust mal ob es sich dann bewegt. Es muss ja auch scrollbar sein wenn es leer ist. Wenn das schon nicht geht hast du irgendwas kaputt gemacht :)

    Ansonsten bliebe nur die Möglichkeit hier fröhlich weiterzuraten oder du stellst Dein Project hier rein.

    Gruß

    Claus
    Jetzt funktionierts, da war irgendwo der Wurm drin ;D Vielen Dank für eure mühe!