2010-10-14 5 views
0

J'ai une vue (nib) de chargement hors écran dans un uiscrollview. Je veux que le film dans cette vue commence seulement à jouer une fois qu'il est visible, mais le viewdidappear se déclenche même si la vue est hors écran. Donc le film joue même si vous ne pouvez pas le voir.Envoyer un message depuis appdelegate pour voir le contrôleur

Existe-t-il un moyen de comprendre quelle vue est réellement visible sans uiscrollview (intégrée au délégué de l'application)? Ou si j'utilise l'appdel uiscrollview pour comprendre la page, puis-je envoyer un message au viewcontroller quand il est visible?

Merci

Répondre

2

Vous devez définir quelque chose au délégué du UIScrollView, et mettre en œuvre scrollViewDidScroll:

intérieur scrollViewDidScroll vous devriez vérifier ce que le view.contentOffset.x et view.contentOffset.y sont, et si ils correspondent au film étant à l'écran, et le film ne joue pas, envoyez-lui un message à jouer. Si le film est en lecture et est hors écran, envoyez-lui un message pour mettre en pause.

+0

Je vois. J'ai finalement réussi à faire fonctionner ceci en utilisant nsnotification mais j'aurais seulement pu le faire avec votre conseil d'envoyer un message. Publiez un notif dans l'appdel et ajoutez un écouteur dans le contrôleur de vue. Fonctionne parfaitement. – malaki1974

Questions connexes