我有一个滚动视图,可以滚动到两侧(只有左右,而不是上下)。 每当滚动视图移动X像素到任意一侧时,我想播放一个短的声音(不到一秒钟)。
如何做到这一点?我们非常感谢代码示例...
谢谢,
答案 0 :(得分:5)
以下是我使用的代码:
我将SoundEffect.h和SoundEffect.m文件添加到我的项目中(您可以在线找到它们)。 然后,我创建了一个声音效果实例:
SoundEffect *soundEffect;
然后,我通过将<UIScrollViewDelegate>
添加到视图控制器的.h文件并设置UIScrollView的相关插座,将我的UIViewController设置为我的UIScrollView的委托。
在-(void)viewDidLoad
方法中,我初始化了我的音效:
NSBundle *mainBundle = [NSBundle mainBundle];
soundEffect = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"Tik" ofType:@"wav"]];
然后,我实现了这两种方法:
#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];
}
}
我需要声音效果才能向每个方向发射55个像素,但您可以将其更改为适合您需要的恒定值。 它对我很有用,希望它也能帮助别人......
答案 1 :(得分:1)
尝试将viewController指定为滚动视图的委托,并添加-scrollViewWillBeginDragging:方法。