我正在制作一个IOS应用程序,它可以在UIButton的压力下播放wav文件。我正在尝试实现UISegmentedcontrol,以便在突出显示不同的段时更改正在播放的样本。
这是我的viewController.h的代码:
@property (nonatomic, retain) IBOutlet UISegmentedControl *segmentedControl;
-(IBAction)playFile1;
-(IBAction)playFile2;
-(IBAction)playFile3;
@end
和viewController.m
@synthesize segmentedControl = segmentedControl;
-(IBAction)playFile1{
if([segmentedControl selectedSegmentIndex] == 0){
[rtcmixmanager playFile1];
}
else if([segmentedControl selectedSegmentIndex] == 1){
[rtcmixManager playFile2];
}
else{
[rtcmixManager playFile3];
}
}
我已经尝试了这个方法,并在 - (IBaction)方法本身的RTCMixManager.m文件中添加了一个类似的if语句,没有运气。 该项目将编译,但它似乎只播放文件1,无论哪个段高亮。有谁知道这是为什么?
答案 0 :(得分:0)
试试这个:
-(IBAction)segmentChanged:(id)sender{
UISegmentedControl *segControl = ((UISegmentedControl *)sender);
if([segControl selectedSegmentIndex] == 0){
[rtcmixmanager playFile1];
}else if([segControl selectedSegmentIndex] == 1){
[rtcmixManager playFile2];
}else{
[rtcmixManager playFile3];
}
}
并将其连接到.xib文件中的Segmented Control事件的“值已更改”
编辑: 您也可以使用以下代码执行此操作:
[segmentedControl addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];