2010-01-06 3 views
0

Cela m'a fait perplexe. J'essaie de comprendre comment sauvegarder l'état d'un UIScrollView. Par exemple, j'ai plusieurs images dans un UIScrollView qui sont chargés comme ceci:Comment enregistrer l'état de UIScrollView?

NSUInteger i; 
for (i = 1; i <= kNumImages; i++) 
{ 
    NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i]; 
    UIImage *image = [UIImage imageNamed:imageName]; 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; 
} 

Maintenant, ma question est de savoir comment puis-je faire où l'utilisateur peut revenir à l'image qu'ils ont arrêté le défilement à? Est ce que quelqu'un sait comment accomplir cela? Merci.

Répondre

6

Essayez ceci:

NSUserDefaults *defaults = [NSUserDefaults standardDefaults]; 
[defaults setFloat: scrollview.contentOffset.x forKey: @"myScrollPositionX"]; 
[defaults setFloat: scrollview.contentOffset.y forKey: @"myScrollPositionY"]; 

Pour restaurer:

scrollView.contentOffset = CGPointMake([defaults floatForKey: @"myScrollPositionX"], [defaults floatForKey: @"myScrollPositionY"]); 
+0

Works perfect !! Merci Ben !! J'essayais d'utiliser un objectForKey qui n'a pas fonctionné haha ​​... Merci encore. – 0SX

+1

J'ai dû utiliser '[NSUserDefaults standardUserDefaults]' pour que cela fonctionne. Merci d'avoir répondu. –