Voici le code je:
J'ai ajouté les fichiers SoundEffect.h et SoundEffect.m à mon projet (vous pouvez les trouver en ligne). Ensuite, je créé une instance d'effet sonore:
SoundEffect *soundEffect;
Puis, je configurer mon UIViewController en tant que délégué de mon UIScrollView en ajoutant <UIScrollViewDelegate>
au fichier .h du contrôleur de vue et le réglage de la sortie correspondante du UIScrollView.
Dans la méthode -(void)viewDidLoad
, j'initialisés mon effet sonore:
NSBundle *mainBundle = [NSBundle mainBundle];
soundEffect = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"Tik" ofType:@"wav"]];
Et puis, je mis en œuvre ces deux méthodes:
#pragma mark -
#pragma mark Scroll View Delegate Methods
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
lastScrollPosition = scrollView.contentOffset.x/55;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if ((int)(scrollView.contentOffset.x/55) != lastScrollPosition1)
{
lastScrollPosition1 = scrollView.contentOffset.x/55;
[soundEffect1 play];
}
}
je besoin de l'effet sonore au feu tous les 55 pixels soit direction, mais vous pouvez changer cela à une valeur constante qui correspond à vos besoins. Cela fonctionne très bien pour moi, et j'espère que ça va aider les autres aussi ...
Cela ne fonctionne pas car scrollViewDidScroll ne se déclenche pas assez vite. Mon scrollview défile 6 pages en 1 seconde mais obtient seulement trois clics. Des idées pour rendre cette méthode plus rapide? –