我想要两个MPMoviePlayerControllers。所以我开始在点击按钮后在动作方法中添加它:
MPMoviePlayerController *movieController= [[MPMoviePlayerController alloc] initWithContentURL: yURL];
[movieController prepareToPlay];
[movieController.view setFrame: self.view.bounds];
[self.view addSubview: movieController.view];
[movieController play];
这不起作用!我正在遵循这种方法,以便我可以在同一视图上添加另一个玩家。但是当我尝试将其添加到.h
时@property (nonatomic, strong) MPMoviePlayerControllers *moviePlayer;
,这到.m
self.movieController= [[MPMoviePlayerController alloc] initWithContentURL: yURL
[self.movieController.view setFrame: self.view.bounds];
[self.view addSubview: self.movieController.view];
[self.movieController play];
它完美无缺!任何人都可以向我解释一下吗?如何在一个视图中添加多个视频播放器,就像填充每个单元格中有一个播放器的表格一样?
答案 0 :(得分:1)
在第一个示例中,您将在方法内声明movieController。这意味着变量的范围是方法,并且当方法结束时,变量被解除分配。您现在添加的子视图不指向任何内容,因此电影播放器不会显示。
当您将变量声明为属性时,它将存在于对象的生命周期中。只要对象仍然存在,您就可以访问和设置其值。将值分配给属性时,将在返回方法后存储其值,以便显示视图。