首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过方向管理从UVIew添加UIViewController

如何通过方向管理从UVIew添加UIViewController
EN

Stack Overflow用户
提问于 2013-05-23 23:18:44
回答 2查看 92关注 0票数 1

我正在创建我的自定义MPMoviePlayer。

对于全屏管理,MPMoviePlayerController的行为是这样的:

代码语言:javascript
复制
- (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated;

我想做同样的事情,但是在所有的UIView上添加一个UIViewController。但在使用UIViewController时,方向不受管理

我当前的代码:

代码语言:javascript
复制
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[[appDelegate window] addSubview:myViewController.view];

我想使用UIViewController来管理方向。

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-11 18:59:16

是的,我可以!

我的ViewController "myViewController“是通过方向管理添加到所有视图上的:

代码语言:javascript
复制
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
UIViewController *rootViewController = appDelegate.window.rootViewController;
[rootViewController presentViewController:myViewController animated:NO completion:nil];
票数 0
EN

Stack Overflow用户

发布于 2013-05-26 03:13:55

当在该MPMoviePlayerController实例上使用setFullscreen:YES...时,它将停止使用您提供的视图堆栈,转而使用它自己的(直接在窗口上)。

换句话说,

一旦切换到全屏模式,MPMoviePlayerControllerview 实例就不会一致地坚持提供的父视图,只有在使用非全屏模式时才会这样做。

要解决该特性,您需要实现自己的方式在全屏和嵌入式模式之间切换。听起来很重要,但实际上是相当微不足道的。

只需在viewController中创建如下所示的方法。

以下假设:

  • 您的viewController处理整个屏幕
  • 您的viewController有一个属性(键入的CGRect),该属性包含名为的
    • MPMoviePlayerController实例的viewController内的嵌入式指标

我跳过了任何可能的动画,让你自己实现。您还可以在此方法中切换控件样式,以模仿原始行为。

代码语言:javascript
复制
- (void)setFullscreen:(BOOL)fullscreen
{
    if (fullscreen)
    {
        self.player.view.frame = self.view.bounds;
    }
    else
    {
        self.player.view.frame = self.embeddedPlayerFrame;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16717758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档