Ich habe bereits ungefähr 5 UIScrollView
in meiner App, die alle mehrere .xib
Dateien laden . Wir wollen jetzt a verwenden UIRefreshControl
. Sie sind für die Verwendung mit UITableViewControllern (gemäß UIRefreshControl-Klassenreferenz) erstellt. Ich möchte nicht wiederholen, wie alle 5 UIScrollView
funktionieren. Ich habe bereits versucht, das UIRefreshControl
in meinem zu verwenden UIScrollView
, und es funktioniert wie erwartet, bis auf ein paar Dinge.
Kurz nachdem sich das Aktualisierungsbild in den Loader verwandelt hat,
UIScrollView
springt das Bild um etwa 10 Pixel nach unten, was nur dann nicht der Fall ist, wenn ich sehr vorsichtig bin, das BildUIScrollview
sehr langsam nach unten zu ziehen .Als ich nach unten scrollen und den Reload initiieren, dann lassen Sie die gehen von
UIScrollView
derUIScrollView
ich die los wo ich sie loslasse. Nach dem NachladenUIScrollView
springt das Gerät ohne Animation nach oben.
Hier ist mein Code:
-(void)viewDidLoad
{
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(handleRefresh:) forControlEvents:UIControlEventValueChanged];
[myScrollView addSubview:refreshControl];
}
-(void)handleRefresh:(UIRefreshControl *)refresh {
// Reload my data
[refresh endRefreshing];
}
Gibt es eine Möglichkeit, eine Menge Zeit zu sparen und eine zu verwenden UIRefreshControl
in a zu verwenden UIScrollView
?
Dankeschön!!!
attributedTitle
beim ersten Herunterziehen zum Aktualisieren an der falschen Stelle angezeigt wird, es sei denn, ich habeattributedTitle
beim ersten Erstellen des Aktualisierungssteuerelements explizit die Initiale festgelegt (z. B. "Zum Aktualisieren ziehen"). Also ein paar Fragen: 1. Initialisieren Sie dasattributedTitle
während dieser ersten Erstellung auf irgendetwas? Auch 2. Verwenden Sie das automatische Layout? 3. Machst du noch etwas mit irgendwelchenUIScrollViewDelegate
Methoden?