J'ai une question concernant l'exemple de code MoviePlayer fourni par apple.
Je ne comprends pas comment fonctionne la notification overlayViewTouch. Le message NSlog que j'y ai ajouté n'est pas envoyé lorsque je touche la vue (pas le bouton).Comment fonctionne la notification overlayViewTouched dans l'exemple de code MoviePlayer
// post the "overlayViewTouch" notification and will send
// the overlayViewTouches: message
- (void)overlayViewTouches:(NSNotification *)notification
{
NSLog(@"overlay view touched");
// Handle touches to the overlay view (MyOverlayView) here...
}
Je peux, toutefois, obtenir la notification NSLog si je place dans - (void) touchesBegan dans "MyOverlayView.m". Ce qui me fait penser que est reconnaissant des touches, mais pas l'envoi d'une notification.
// Handle any touches to the overlay view
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch* touch = [touches anyObject];
if (touch.phase == UITouchPhaseBegan)
{
NSLog(@"overlay touched(from touchesBegan")
// IMPORTANT:
// Touches to the overlay view are being handled using
// two different techniques as described here:
//
// 1. Touches to the overlay view (not in the button)
//
// On touches to the view we will post a notification
// "overlayViewTouch". MyMovieViewController is registered
// as an observer for this notification, and the
// overlayViewTouches: method in MyMovieViewController
// will be called.
//
// 2. Touches to the button
//
// Touches to the button in this same view will
// trigger the MyMovieViewController overlayViewButtonPress:
// action method instead.
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName:OverlayViewTouchNotification object:nil];
}
}
Quelqu'un peut-il faire la lumière sur ce qui me manque ou mal?
Merci.