每次启动画面在iOS应用程序

时间:2015-04-28 11:39:50

标签: ios xcode ios8 mpmovieplayer

我对这种行为有点困惑。

我想做的是, 我有两个不同的应用程序。 一个由我制作,另一个由一个离开公司的人制作。现在我必须完成他的项目。 但是在两个项目中要完成的任务是一样的。

每次打开应用程序时,我必须显示5秒的视频。 像一些品牌视频。 (在愤怒的小鸟应用程序中完成)

我检查了SO上的所有链接,但没有帮助任何人。

我的大四学生离开了公司,他使用Main.storyboard导航每个屏幕。 我在使用故事板方面并不是那么好。 在我的应用程序中,我以编程方式创建了导航。

当我的闪屏消失时, 我显示仪表板。 但在显示仪表板之前,我必须每次都显示视频。 所以我做了什么, 我只为名为VideoViewController的视频创建了一个视图控制器, 并从dashboardView的ViewDidLoad调用该视图控制器。 当我的视频完成时 然后通过使用NSNotificationCenter我删除了VideoViewController

当我点击url路径时,它的打印正确,但我的应用程序崩溃后。 我通过应用ExceptionalBreakpoints来检查它,但没有帮助。

以下是我在ViewDidLoad

VideoViewController内发布视频的代码
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"]];
    NSLog(@"video path :- %@",url);
    playercontroller = [[MPMoviePlayerController alloc] init];
    [playercontroller setContentURL:url];
    [playercontroller.view setFrame:CGRectMake (0, 0, 320, 460)];
    [self.view addSubview:playercontroller.view];
    [playercontroller play];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:playercontroller];

我正在从信息中心推送VideoViewController

-(void)viewDidAppear:(BOOL)animated

方法

因为我做错了什么。 由于我的网址很好,所以加载视频毫无疑问。

请指导我。 还指导我使用故事板实现相同的任务。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你不应该像那样硬编码设置框架。

假设'self'是一个ViewController(已经从RootViewController一直正确地添加了addChildViewController),请尝试下一步:

NSString *path = [[NSBundle mainBundle] pathForResource:videoFileName ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
MPMoviePlayerViewController *videoController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:videoController];
[videoController.moviePlayer play];