. So habe ich Standardunterklasse von UITableViewController mit Tabellenansicht. Jetzt habe ich Inhalt Einsatz zuInhalt der Tabellenansicht, der bei der Verwendung von UIRefreshControl herunterfährt und die Einstellung contentInset
self.tableView.contentInset = UIEdgeInsetsMake(40, 0, 0, 0);
gesetzt Ich verwende UIRefreshControl auch in üblichen Weise.
self.refreshControl = [[CTRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(loadData:) forControlEvents:UIControlEventValueChanged];
alles funktioniert gut und reibungslos, wenn die Tabellenansicht enthält genügend Daten, die er scrollt (so Inhalt Größe Höhe ist mehr als die Höhe der Tabellenansicht). Wenn in der Tabelle nicht genügend Daten vorhanden sind (z. B. nur zwei Reihen), dann geht es beim Anfahren glatt und springt dann plötzlich um etwa 20 Punkte nach unten. Das Gleiche passiert, wenn ich in eine andere Richtung blättern. Es passiert nicht, wenn kein Refresh-Steuerelement vorhanden ist oder wenn ich contentInset nicht ändere. Irgendwelche Ideen? Alle auf iOS 6.
Setzen Sie die Änderung von contentInset in einen Animationsblock mit einer Dauer von 0,2 Sekunden. – Fogmeister
Warum ändern Sie den Inhaltseinschub der Tabellenansicht? Es könnte einen besseren Weg geben, dies zu tun, ohne den Inhalt zu verändern. – Fogmeister
Ja, ich hatte auch das selbe Problem. Es ist eindeutig ein Fehler in iOS. Ich habe es bei Apple eingereicht und sie haben es bestätigt. – Accatyyc