在接收 UIEventSubtypeRemoteControlPause 时更改 UIButton 图像 - Objective c - iOS
Change UIButton Image while receiving UIEventSubtypeRemoteControlPause - Objective c - iOS
我在使用 AVPlayer 播放时成功地在锁屏中获得了音乐控制,但问题是我想在用户按下锁屏中的播放/暂停按钮时更改 UI按钮图像(根据播放器状态)。
因此,如果用户在播放器暂停时解锁设备,UI按钮的图像代表状态。
我可以通过这些行动做我想做的一切,但似乎 UI 改变是不可能的...
可以吗?
提前致谢!
编辑:这是我在应用程序中用于更改 UI 按钮图像的代码(在锁屏时不起作用):
[self.playButton setImage:[UIImage imageNamed:@"Pause-100.png"] forState:UIControlStateNormal];
我找到了解决方案,方法是添加一个观察器来检测应用何时变为活动状态
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateGUI)
name:UIApplicationDidBecomeActiveNotification
object:[UIApplication sharedApplication]];
然后我运行这个方法来更新 UIButton 的图像:
- (void)updateGUI {
if (isPaused) {
[self.playButton setImage:[UIImage imageNamed:@"Play-100.png"] forState:UIControlStateNormal];
}else if (!isPaused) {
[self.playButton setImage:[UIImage imageNamed:@"Pause-100.png"] forState:UIControlStateNormal];
}
}
我在使用 AVPlayer 播放时成功地在锁屏中获得了音乐控制,但问题是我想在用户按下锁屏中的播放/暂停按钮时更改 UI按钮图像(根据播放器状态)。 因此,如果用户在播放器暂停时解锁设备,UI按钮的图像代表状态。
我可以通过这些行动做我想做的一切,但似乎 UI 改变是不可能的...
可以吗?
提前致谢!
编辑:这是我在应用程序中用于更改 UI 按钮图像的代码(在锁屏时不起作用):
[self.playButton setImage:[UIImage imageNamed:@"Pause-100.png"] forState:UIControlStateNormal];
我找到了解决方案,方法是添加一个观察器来检测应用何时变为活动状态
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateGUI)
name:UIApplicationDidBecomeActiveNotification
object:[UIApplication sharedApplication]];
然后我运行这个方法来更新 UIButton 的图像:
- (void)updateGUI {
if (isPaused) {
[self.playButton setImage:[UIImage imageNamed:@"Play-100.png"] forState:UIControlStateNormal];
}else if (!isPaused) {
[self.playButton setImage:[UIImage imageNamed:@"Pause-100.png"] forState:UIControlStateNormal];
}
}