iOS 10.0 UIRefreshControl nicht angezeigt-Anzeige
Ich bin mit einem UITableView, Die hat ein Pull-down-to-refresh-Funktion, aber die spinner für pull down to refresh wird nicht angezeigt, wenn ich rufen Sie die [self.refreshControl beginRefreshing]
Dem obigen code wird aufgerufen, in der viewDidLoad führen die Tabelle laden einige Daten zunächst. Der Kreisel funktioniert einwandfrei, wenn ich ein pull down to refresh nach dem ersten aktualisieren. Der Titel zeigt aber nicht auf den spinner.
Nicht scheinen, um dieses problem zu lösen. Es funktioniert auf iOS 9.3.2 aber nicht auf iOS 10.
Hier ist der code, den ich verwende derzeit.
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupView];
[self customSetup];
self.refreshControl = [[UIRefreshControl alloc] init];
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"Updating Discounts..."];
[self.refreshControl addTarget:self action:@selector(reloadDeals) forControlEvents:UIControlEventValueChanged];
[self.refreshControl beginRefreshing];
[self.tableView setContentOffset:CGPointMake(0, -self.refreshControl.frame.size.height) animated:YES];
}
Dank für Eure Hilfe im Voraus
- Hi. Wie sind Sie? Hast du die Lösung finden? Vielen, vielen Dank. Grüße.
- aktivieren UITableView springt Eigenschaft
Du musst angemeldet sein, um einen Kommentar abzugeben.
bevor der code:
[refreshControl beginRefresh]
fügen Sie den code:
[refreshControl layoutIfNeeded]
beginRefreshing()
aufrufen und die Einstellung für die Inhalts-offset mit 0,01 s imviewWillAppear
. Noch immer ein paar Pannen, aber es ist "okay"... @vivektakraniVerzögern der Aufruf von refresh in viewDidLoad für mich gearbeitet:
Müssen Sie rufen Sie
[self.view layoutIfNeeded]
um es zu beheben in iOS 10. Für meinen Fall war es genug, um den Anruf zuviewDidLoad
(ich war mit storyboard in das Projekt). Für andere FälleviewWillAppear
besser passt.self.view.layoutIfNeeded
aufviewWillAppear
. Ich bin mit swift.Dies ist ein bekannter und gemeldeter Fehler in iOS 10.
Radar rdar://27468436
Ich bin mir nicht sicher, ob es irgendwelche workarounds.
Gleiche wie @jpros Antwort, aber in der swift -
Ich war nur in der Lage, dieses Problem zu beheben, indem Sie aufrufen, von viewDidLoad():
In iOS10, sollten wir hinzufügen, die UIRefreshControl mit setRefreshControl von UITableView oder UICollectionView.
Wenn Sie Ihre refresh-Anzeige nicht angezeigt wird, versuchen Sie die Aktivierung Bounce Vertikal im Interface Builder für Tabellenansicht oder scroll-Ansicht.