在接收 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];

}

}