我正在构建一个带有类似 iPod 的控件(播放、暂停等)的应用程序。该应用程序在每个单元格中都有带有轨道名称的 tableView。我有一个MainViewController
with aUITableView
和一个自定义UITableViewCell
类。播放器控件存在于MainViewController
.
每个单元格中还有一个播放/暂停按钮。我已成功设置NSNotifications
为在单元格中按下播放按钮时发布通知,因此将跟踪信息发送到观察者和响应者方法,MainViewController
并启动播放器控件(由 驱动MPMoviePlayerController
)。
这行得通,但是一旦播放了曲目,我就无法弄清楚如何使单元格中的播放/暂停按钮“镜像”我的 iPod 控件中播放/暂停按钮的状态。我不认为NSNotification observer
在每个单元格中添加 a 是正确的方法。
附加信息:播放器中的播放/暂停按钮图像MainViewController
由每半秒触发一次并检查playbackstate
. MPMoviePlayerController
如果播放,播放器按钮设置为播放图像。如果暂停,则设置为暂停图像。我在想设置 tableCell 播放/暂停按钮的实现也会放在这里。
在我的 UITableViewController 中,只要播放状态发生变化(通过NSNotification),就会调用此方法。(playButton
是播放器控件中的播放/暂停按钮,而不是我试图根据播放状态更新的表格单元格中的播放/暂停)。
- (void) updateViewForPlayerState
{
// Change playButton image depending on playback state
[playButton setImage:((moviePlayer.playbackState == MPMoviePlaybackStatePlaying) ? pauseBtnBG : playBtnBG) forState:UIControlStateNormal];
}