2012-07-10 49 views
0

当用户单击UIButton1(rewind button)时,需要更改其他UIButton2(playbutton)UIImage。我怎样才能做到这一点。单击其他UIButton时更改UIButton的UIImage

UIButton *rewindButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[rewindButton addTarget:self action:@selector(rewind:) forControlEvents:UIControlEventTouchUpInside]; 
rewindButton.frame = CGRectMake(0, 0, 38, 38); 
UIImage *imge = [UIImage imageNamed:@"Rewind Icon .png"]; 
[rewindButton setImage:imge forState:UIControlStateNormal]; 
UIBarButtonItem *rewind = [[UIBarButtonItem alloc] initWithCustomView:rewindButton]; 

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

//Add Play Button 

_playButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[_playButton addTarget:self action:@selector(playpauseAction:) forControlEvents:UIControlEventTouchUpInside]; 
_playButton.frame = CGRectMake(0, 0, 38, 38); 
[_playButton setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateNormal]; 
[_playButton setImage:[UIImage imageNamed:@"52.png"] forState:UIControlStateSelected]; 
UIBarButtonItem *play = [[UIBarButtonItem alloc] initWithCustomView:self.playButton]; 


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

当用户点击UIButton1(rewind button)要求是其他UIButton2(play button)UIImage从游戏中的icon.png到pauseicon.png改变。

我该怎么做。

任何想法。

回答

2

是否直接设置按钮的图像不起作用?

-(void)rewind:(id)sender{ 
    [_playButton setImage:[UIImage imageNamed:@"pause icon.png"] forState:UIControlStateNormal]; 
    //... 
} 
+0

我该如何让播放按钮执行以下步骤[audioPlayer play]; [self resumeTimer]; [self resumeLayer:self.view.layer];当倒带按钮改变播放按钮的UIImage [_playButton setImage:[UIImage imageNamed:@“pause icon.png”] forState:UIControlStateNormal];这意味着当倒带按钮将播放按钮的图像更改为暂停时,并且当用户尝试暂停播放按钮时以及用户恢复播放按钮时,播放按钮应执行以下步骤[audioPlayer play]; [self resumeTimer]; [self resumeLayer:self.view.layer]; – user1452248 2012-07-11 17:47:14

+0

_playButton已经连接到执行这些步骤的playpauseAction:方法。您可以尝试 - (void)倒带:{[audioPlayer pause];而不是仅在回放中设置播放按钮图像。 audioPlayer.currentTime = 0; [self playpauseAction:_playButton]; // ...} – thelaws 2012-07-11 18:07:58