Lassen Sie eine App mit mehreren Abschnitten, ein paar Zeilen pro Abschnitt, wenn "erweitert", keine, wenn "minimiert". Jeder Abschnitt hat einen Abschnitt Header, wurde wiederverwendet mit einer Unterklasse von UITableViewHeaderFooterView
usw. So weit so gut.
Dann in iOS 11:
Screenshot, in dem das Problem beschrieben wird
Ich habe den visuellen Debugger verwendet und bestätigt, dass mein Abschnittsheader schwebt. Alle Zeilen unterhalb der Kopfzeile werden korrekt angezeigt, die anderen Kopfzeilen werden ordnungsgemäß angezeigt.
Um die Vernunft wiederherzustellen, habe ich die gesamte Wiederverwendungslogik für den Header weggeworfen und sie nur programmatisch gemacht. Gleich. Alle Arbeiten vor iOS 11 schweben immer noch in iOS 11. Der Abschnitt, der schwebt, scheint sich jedes Mal zu ändern, also gibt es das.
Irgendwelche Ideen?
Ich bin gerade auf ein ähnliches Problem gestoßen und habe die Diskussion zu diesem Thema gefunden, die für mich funktioniert hat:
> %Vor% Scheint so, als ob das Standardverhalten von UITableView
in iOS 11 geändert wurde, um geschätzte Höhen zu verwenden. Die Release Notes für iOS 11 Beta 2 sagen:
Tabellenansichten verwenden jetzt standardmäßig geschätzte Höhen. Dies bedeutet auch, dass Zellen und Abschnittskopf- / Fußzeilenansichten jetzt standardmäßig eine eigene Größe haben. Der Standardwert für die Eigenschaften "approchtedRowHeight", "decuratedSectionHeaderHeight" und "decuratedSectionFooterHeight" lautet nun UITableViewAutomaticDimension. Dies bedeutet, dass die Tabellenansicht eine geschätzte zu verwendende Höhe auswählt. Sie sollten nach Möglichkeit immer eine genauere Schätzung für jede Eigenschaft bereitstellen. Dies ist Ihre beste Schätzung des Durchschnittswerts der tatsächlichen Höhen. Wenn Sie über vorhandenen Tabellenansichtscode verfügen, der sich beim Erstellen Ihrer App mit dem iOS 11-SDK anders verhält und Sie keine Selbstdimensionierung übernehmen möchten, können Sie das vorherige Verhalten wiederherstellen, indem Sie geschätzte Höhen inaktivieren, indem Sie für null den Wert null festlegen jede geschätzte Höheneigenschaft. (30197915)
Siehe auch die Beta 2-Versionshinweise hier gespiegelt .
Versuchen Sie, den Tabellenstil von einfach zu gruppiert zu ändern.