J'ai reproduit la situation que vous avez décrite dans votre question (du moins je le pense): un UIScrollView, un UIView dans UIScrollView et un UIButton dans l'UIView.
J'ai essayé d'attacher du ruban adhésif en touchant la vue de défilement et en déplaçant mon doigt sur le bouton et je n'ai pas réussi à rebondir vers le haut ou quelque chose comme ça. J'ai également essayé d'appuyer sur le bouton après avoir fait défiler le défilement et il n'y avait pas d'effets secondaires aussi. Donc, je suppose que ce que vous avez affaire est quelque chose comme ceci: un UINavigationController avec vous UIScroll-UIView-UIButton UIViewController comme un contrôleur de vue racine; après avoir tapé le UIButton pousse un nouveau UIViewController à l'UINavigationController; alors vous revenez au précédent UIViewController dans la pile UINavigationController et c'est quand vous perdez la position de défilement.
Si mon estimation est correcte, voici ce que vous devez faire.
Avant de pousser une nouvelle UIViewController sauvegarde vous faites défiler le contenu actuel de vue décalé par le code suivant:
[[NSUserDefaults standardUserDefaults] setObject:NSStringFromCGPoint(theScrollView.contentOffset) forKey:@"ScrollViewLastContentOffset"];
Et une fois que vous revenez à vous UIScrollView UIViewController utilisez le code suivant en vous viewWillAppear: Méthode:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults stringForKey:@"ScrollViewLastContentOffset"] != nil) {
theScrollView.contentOffset = CGPointFromString([defaults stringForKey:@"ScrollViewLastContentOffset"]);
[defaults removeObjectForKey:@"ScrollViewLastContentOffset"];
}
}
Même si ma supposition fausse s'il vous plaît commenter ma réponse et Alan et les confirmer/réfuter pour que nous puissions vous aider. Pourriez-vous également fournir plus de détails sur votre problème afin que nous n'ayons pas besoin de deviner ce qui se passe exactement plus.
Salut mec! Cela vous dérangerait-il d'attirer votre attention sur votre propre question et de commenter les réponses qu'Alan et moi vous avons données? –