我必须遵循代码
-(IBAction)doVibrate{
[self vibrate];
}
-(void)vibrate{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
doVibrate
和vibrate都是同一类。但是当我点击与doVibrate
相关联的按钮时,它不会振动。
我已导入AudioToolbox/AudioToolbox.h
和AVFoundation/AVFoundation
。
有人可以告诉我哪里错了。 谢谢
答案 0 :(得分:2)
IBActions通常具有以下形式:
- (IBAction)vibrate:(id)sender;
请注意,以下3种方法都不同:
- (IBAction)vibrate:(id)sender;
- (IBAction)vibrate; // no sender argument
- (void)doVibrate;
这是我要做的。在.h文件中,定义以下方法:
- (IBAction)vibrate:(id)sender;
// - (IBAction)vibrate; comment out this method
在.m文件中,执行以下操作:
- (IBAction)vibrate:(id)sender {
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
现在,当您保存.h和.m文件,并切换回Interface Builder中的nib / xib文件时,它可能会显示一条黄色警告消息,“'vibrate'不再在”您的类名中定义这里'。没关系,因为以下内容应该删除该错误。按住Control键并单击(或右键单击)按钮并拖动到控制器类,然后选择“vibrate:”作为要调用的方法名称(注意方法名称中的冒号,:)。