iPod のようなコントロール (再生、一時停止など) を備えたアプリを構築しています。アプリには、各セルにトラック名を含む tableView があります。MainViewController
withUITableView
とカスタムUITableViewCell
クラスがあります。プレーヤー コントロールは にありMainViewController
ます。
各セルに再生/一時停止ボタンもあります。NSNotifications
セルで再生ボタンが押されたときに通知を投稿するように設定できたので、トラック情報がオブザーバーとレスポンダー メソッドに送信されMainViewController
、プレーヤー コントロール (によって駆動MPMoviePlayerController
) が開始されます。
これは機能しますが、トラックが再生されると、セルの再生/一時停止ボタンを iPod コントロールの再生/一時停止ボタンの状態に「ミラーリング」する方法がわかりません。NSNotification observer
すべてのセルに a を追加することが正しい方法だとは思いません。
追加情報: プレーヤーの再生/一時停止ボタンの画像は、MainViewController
0.5 秒ごとに起動しplaybackstate
、MPMoviePlayerController
. 再生中の場合、プレーヤー ボタン セットは再生イメージです。一時停止している場合は、一時停止イメージを設定します。tableCell の再生/一時停止ボタンも設定する実装はここにしようと考えています。
編集このメソッドは、UITableViewController 内で (NSNotification を介して) 再生状態が変化するたびに呼び出されます。(playButton
再生状態に応じて更新しようとしているテーブルセルの再生/一時停止ではなく、プレーヤーコントロールの再生/一時停止ボタンです)。
- (void) updateViewForPlayerState
{
// Change playButton image depending on playback state
[playButton setImage:((moviePlayer.playbackState == MPMoviePlaybackStatePlaying) ? pauseBtnBG : playBtnBG) forState:UIControlStateNormal];
}