2012-06-23 91 views
0

我在我的應用程序中有多個UIButtons。想要連接倒帶&播放/暫停按鈕進行一個動作。根本不使用接口生成器來完成應用程序。連接多個按鈕:一個動作的倒帶和播放/暫停按鈕

現在快退按鈕有當按下

-(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; 
    } 
    } 
    } 

當按下倒帶鍵,它應該做播放/暫停動作方法,意思是當按下快退按鈕時,播放/暫停按鈕應該切換到暫停按鈕,當暫停按鈕被恢復時,則它應該切換到播放按鈕。

回答

1

操作方法/選擇器可以連接到一個UIButton使用代碼:

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

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

1

如果我理解你的問題是正確的,你想在點擊Play/Pause或Rewind按鈕時調用相同的方法。

只是除了添加到您的現有代碼連接此方法作爲目標爲您的按鈕:

設置一個唯一的標籤爲自己的Play後後退按鈕

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

對於着想如果還有其他問題,我已經使用簡單。你可以使用if/if或switch-case,如果這樣的話。希望這可以幫助!

+0

無論何時回退按鈕被點擊,我想執行回退動作方法,同時也想執行playpauseAction方法。 – user1452248

+0

是真的。設置你的rewindButtonTag = 888和playButtonTag = 999,它應該工作。 (如果它不工作,讓我知道發生了什麼。) –

+0

我對標籤概念瞭解不多,以及標籤倒帶和播放按鈕的用途。可以在不標記兩個按鈕的情況下完成。 – user1452248