iPad アプリケーションでマスター/ディテール アプリケーション テンプレートを使用しています。
ビデオのリストを含むマスタービューがあります。リスト項目を選択すると、詳細ビューでその項目のビデオの再生が開始されます。
MPMoviePlayerController を使用してビデオを再生しています。
全画面アイコンを押すと、プレーヤーは画面全体を埋める必要があります(詳細ビューだけでなく、マスタービューと詳細ビュー)。
どうすればこれを行うことができますか? 助けてください!
3591 次
1 に答える
10
MasterViewcontroller
のデリゲートを使用して非表示または表示できますUISplitViewController
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
- (void)splitViewController:(UISplitViewController *)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem;
- (void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)pc;
アップデート:-
コード例:-
DetailViewController.hクラスに1 つのBOOL
値を設定します
@interface DetailViewController : UIViewController <UISplitViewControllerDelegate>
@property (nonatomic) BOOL IShide;
そして、この次のメソッドを.Mクラスに実行します
-(void)hideMaster:(id)hideState
{
_IShide=!self.IShide;
[self.splitViewController.view setNeedsLayout];
self.splitViewController.delegate = nil;
self.splitViewController.delegate = self;
[self.splitViewController willRotateToInterfaceOrientation:[UIApplication sharedApplication].statusBarOrientation duration:0];
//also put your `MPMoviePlayerController` Fullscreen Method here
}
#pragma mark - Split view
-(BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
{
return self.IShide;
}
- (void)viewDidLoad
{
UIBarButtonItem *Fullscreen = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"FullScreen", nil) style:UIBarButtonItemStylePlain target:self action:@selector(hideMaster:)];
[self.navigationItem setRightBarButtonItem:Fullscreen animated:YES];
[super viewDidLoad];
}
フルスクリーンイベントをクリックしている間MPMoviePlayerController
、このイベントでこのデリゲートを呼び出すと、MasterViewController の表示と非表示を切り替えることができます。
コード OUTPUT は
于 2013-08-14T06:55:14.813 に答える