2010-08-03 2 views
-1

salut je suis nouveau sur iphone. ce que je fais est d'afficher 20 images en tant que grille et en sélectionnant l'image, il est affiché sur l'image après 4 secondes, il reviendra à l'écran principal, pour cela j'utilise minuterie ça fonctionne bien, mais il y a un petit problème la minuterie est continuellement en cours d'exécution.Si je sélectionne le bouton sur 2 sec tard alors avec dans 2 secondes restantes il reviendra comment puis-je résoudre ce pls m'aiderproblème de minuterie à l'affichage de la vue

+0

Vous devez accepter plus de réponses à vos questions, c'est actuellement trop bas. – Jasarien

+0

Pouvez-vous montrer du code pour voir quand et comment vous démarrez la minuterie? – V1ru8

+0

mon code est ---------- atimer = [NSTimer scheduledTimerWithTimeInterval: 3.0 \t \t \t \t \t \t \t \t \t \t \t cible: auto \t \t \t \t \t \t \t \t \t \t \t sélecteur: @selector (runcheduledTask) \t \t \t \t \t \t \t \t \t \t \t userInfo: nil \t \t \t \t \t \t \t \t \t \t \t répétitions: OUI]; // j'écris ceci dans viewdidload ----------------------------------- - (vide) runcheduledTask { \t \t \t NSLog (@ "timer"); @try {\t \t \t \t CustomImagePickerAppDelegate * délégué = [[UIApplication sharedApplication] délégué]; UINavigationController * navController = [délégué navController]; [navController pushViewController: _imagePicker animé: OUI]; \t \t \t} – Jeyavel

Répondre

1

Au lieu d'avoir la minuterie en continu, ne démarrez que lorsque l'utilisateur sélectionne une image. De cette façon, vous obtenez les 4 secondes complètes. Assurez-vous également de ne pas le répéter.

+0

comment puis-je le placer et où puis-je le placer – Jeyavel

0

Dans le sélecteur que vous appelez avec votre minuterie, vous devez invalider cette minuterie. Cela signifie que vous devez affecter la minuterie à une propriété dans votre contrôleur de vue, pour pouvoir en parler plus tard. Donc disons que vous avez un ivar de NSTimer *backTimer, puis dans la méthode que le chronomètre appelle, vous direz [backTimer invalidate], et ce chronomètre disparaîtra.

Vous devez également l'invalider lorsque quelqu'un se retire de la vue "image complète". Probablement au -viewDidUnload ou -viewDidDissapear.

Questions connexes