Ami*_*ark 0 iphone xcode click uibutton
在我的应用程序中有一种特殊情况,我需要UIButton触摸伴有咔嗒声,类似于系统键盘上使用的声音.
我现在在toucesBegan上做这个:打电话 - 我能想到的最早的一个 - 但是,在很多情况下(特别是在较慢的设备上),声音被延迟并且整个点被遗漏 - 用户可能有在听到第一个声音之前触摸另一个按钮.
这不会发生在系统键盘上,也不会发生在我正在使用的其他应用程序中,所以他们必须以正确的方式进行:-)
一旦用户触摸屏幕,我应该在哪里放置点击代码使其发声?我宁愿在一个我无需检查自己触摸是否在按钮范围内的地方,但如果这是唯一的选择那么我愿意这样做.
用于创建声音的方法是否重要?我现在使用的是AudioServicesPlaySystemSound,这是最简单的方法.
谢谢.
正如DarkDust所说,为什么你不使用addTarget:action:forControlEvents:?
对我来说工作正常:
[button addTarget:self action:@selector(playClick) forControlEvents:UIControlEventTouchUpInside];
-(IBAction)playClick{
NSString *effect;
NSString *type;
effect = @"Tink";
type = @"aiff";
SystemSoundID soundID;
NSString *path = [[NSBundle mainBundle] pathForResource:effect ofType:type];
NSURL *url = [NSURL fileURLWithPath:path];
AudioServicesCreateSystemSoundID ((CFURLRef)url, &soundID);
AudioServicesPlaySystemSound(soundID);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3124 次 |
| 最近记录: |