gpt4 book ai didi

iphone - 两个 UIButton 的一种方法

转载 作者:行者123 更新时间:2023-11-28 22:54:03 27 4
gpt4 key购买 nike

此倒带方法适用于倒带按钮和播放按钮。

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

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

现在在此方法中,发送方是倒带按钮,播放/暂停的切换发生在倒带按钮上,而我希望此切换是播放按钮而不是发送方,即倒带按钮。所以我试着给出我想要切换的实际按钮的名称,我在我的代码中将该按钮定义为播放按钮,并且我在这个倒带方法中添加了它的操作方法。

播放按钮就是这样定义的

//Add Play Button
UIButton *playButton = [UIButton buttonWithType:UIButtonTypeCustom];
[playButton addTarget:self action:@selector(playpauseAction:) forControlEvents:UIControlEventTouchUpInside];
playButton.frame = CGRectMake(0, 0, 30, 30);
[playButton setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateNormal];
[playButton setImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateSelected];
UIBarButtonItem *play = [[UIBarButtonItem alloc] initWithCustomView: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.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;
}
}
}

现在我现在面临的问题是,当我单击倒带按钮时,切换应该发生在播放按钮上而不是倒带按钮上。

但为了解决这个问题,我只是简单地在 rewind 方法中将 sender 替换为 playButton

[playButton setImage:[UIImage imageNamed:@"Play Icon.png"] forState:UIControlStateSelected];

但随后我收到红色警告消息,提示使用了未声明的标识符 playButton。

我如何告诉 rewind 方法在 playButton 而不是 rewind 按钮上进行切换。

请帮忙。

谢谢。

最佳答案

您的“未声明标识符 playButton”告诉您您没有实例变量 playButton。

它可能只在您创建它的方法中可见,但您需要将它保存到 iVar 中以便能够从其他方法访问它。

关于iphone - 两个 UIButton 的一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11180213/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com