0

我正在制作一个 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,无论突出显示哪个段。有人知道为什么吗?

4

1 回答 1

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];
于 2012-12-12T10:08:02.193 回答