Ich habe eine UINavigationController
in meiner App. Die UINavigationBar
ist auf opak eingestellt und alle Bildlaufansichten überlappen sich nicht unterhalb der Leiste. In einer Ansicht habe ich eine UITableView
. Der Rahmen der UITableView
ist (0 0; 320 504)
auf meinem iPhone 5., d. H. Die Höhe ist 568 - 64 (die Höhe der Navigationsleiste und Statusleiste).iOS7 UIRefreshControl ändert contentInset
Die contentInset
der UITableView
ist (0, 0, 0, 0)
. Wenn die Tabellenansicht zuerst geladen wird, lautet die contentOffset
(0, 0)
.
Das ist in Ordnung. Funktioniert hervorragend.
Ich habe eine UIRefreshControl
zur Tabellenansicht hinzugefügt. Dies funktioniert ein paar Mal, aber nach ein paar Mal ziehen zu aktualisieren, dann wird der Inhalt an der Spitze "stecken" unter der Navigationsleiste.
Wenn dies passiert, überprüfe ich die contentInset
und es ist jetzt (-60, 0, 0, 0)
.
Gibt es eine Möglichkeit, den UIRefreshControl davon abzuhalten, die contentInset
zu ändern?
Meine Antwort wurde entfernt, da Sie es offensichtlich bereits ausgeschlossen haben. Du rufst endRefreshing an, nehme ich an? – jhilgert00
Keine Sorge. Ja, wenn ich 'endRefreshing' auf dem Steuerelement anrufe, verschwindet es. Dies funktioniert ein paar Mal gut, aber dann flippt es aus und das 'contentInset' ändert die oberen Zeilen der Navigationsleiste. – Fogmeister
Sie könnten wahrscheinlich mit dem Zurücksetzen Ihres Frames nach der Aktualisierung davonkommen, aber das sollte nicht sein. – jhilgert00