#7 複数の音源から再生したい音源を選ぶ(その2)ーC4でAudio Playerをつくる(5)
この記事は「一人アドベントカレンダー2013〜Lonely Advent Calender 2013〜」の8日目の記事です。
前回、音源リストのビューを追加しただけで終わってしまっていたので、引き続き実装をすすめます。
Xibファイル上のViewの取り扱いについて
通常のUIViewとして待ち受けていてもうまくビューが表示されません。
下図のようにXib上でViewを選択し、カスタムクラスのC4View
を選択します。
音源リストの実装
SongListWorkSpace.h
SongListWorkSpace.m
C4WorkSpace側からの呼び出し
まずC4WorkSpace上でSongListWorkSpaceを初期化します。
-(void)createSongList { songList = [[SongListWorkSpace alloc] initWithNibName:@"SongListWorkSpace" bundle:[NSBundle mainBundle]]; songList.delegate = self; songList.canvas.frame = self.canvas.frame; [songList setup]; currentSongTag = songList.currentSongTag; }
SongListWorkSpaceをもとのC4WorkSpaceから呼び出します。
-(void) onPlaylistButton { [sample pause]; UIViewAnimationOptions options = UIViewAnimationOptionTransitionFlipFromLeft; [self switchToView:(C4View*)songList.canvas transitionOptions:options]; } -(void)switchToView:(C4View *)view transitionOptions:(UIViewAnimationOptions)options { if(![currentView isEqual:view]) { [UIView transitionFromView:currentView toView:view duration:0.75f options:options completion:^(BOOL finished) { currentView = view; finished = YES; }]; } currentView.userInteractionEnabled = YES; }
これでC4WorkSpaceから音源リストを表示できるようになりました。 あとは音源を選択すると自動的にC4WorkSpaceの画面に戻るdelegateメソッドを実装すればOKです。