0

我的应用中有多个 UIButton。想要连接倒带和播放/暂停按钮以执行一项操作。根本不为应用程序使用界面构建器。

现在快退按钮按下时有这个方法

-(void)rewind:(id)sender{
[timer invalidate];    
audioPlayer.currentTime = 0;
MainViewController *viewController = [[MainViewController alloc] init];
viewController.view.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:viewController.view]; 
[self.view addSubview:toolbar];
[viewController release];
[audioPlayer play];
 self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0
 target:self
 selector:@selector(displayviewsAction:)
 userInfo:nil
 repeats:NO];
}

并且播放/暂停按钮在按下时具有此方法

-(void)playpauseAction:(id)sender {
if([audioPlayer isPlaying])
{
    [sender setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected];
    [audioPlayer pause];
    [self pauseTimer];
    [self pauseLayer:self.view.layer];
}else{
    [sender setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
    [audioPlayer play];
    [self resumeTimer];
    [self resumeLayer:self.view.layer];
  if(isFirstTime == YES)
    {
        self.timer = [NSTimer scheduledTimerWithTimeInterval:11.0
                                                      target:self
                                                    selector:@selector(displayviewsAction:)
                                                    userInfo:nil
                                                     repeats:NO];
        isFirstTime  = NO;
    }
   } 
   }

当按下快退按钮时,它应该执行播放/暂停操作方法,即当按下快退按钮时,播放/暂停按钮应该切换到暂停按钮,当暂停按钮恢复时,它应该切换到播放按钮。

4

2 回答 2

1

如果我正确理解您的问题,您希望在单击“播放/暂停”或“倒带”按钮时调用相同的方法。

将此方法连接为两个按钮的目标后,只需将其添加到现有代码中即可。:

为您的播放和倒带按钮设置一个独特的标签

-(void)buttonAction:(id)sender {
    UIButton *clickedButton = (UIButton *)[sender];
    if (clickedButton.tag = playButtonTag){
        [self playPauseAction:sender];
    }
    else{
        [self rewindAction:sender];
    }
}

为简单起见,我使用了 if else。如果这样,您可以使用 if/if 或 switch-case。希望这可以帮助!

于 2012-06-23T18:15:58.467 回答
1

可以使用以下代码将操作方法​​/选择器连接到 UIButton:

 [button1 addTarget:self action:@selector(method:) forControlEvents:UIControlEventTouchUpInside];

您可以使用上面的代码行向 UIButton 添加相同的操作。

于 2012-06-23T17:38:18.030 回答