如何在CCGLView(Cocos2d-objc)后添加UIView

时间:2017-10-10 11:05:12

标签: ios objective-c cocos2d-iphone cocos2d-x

我尝试使用MPMoviePlayerController播放视频,并想在cocos2d资源后面显示它。我能够播放视频,但它出现在cocos2d资产之上。 Cocos2D-ObjC版本是3.5.0。

这是我的代码段:

MPMoviePlayerController *moviePlayer = self.moviePlayerController.moviePlayer;

CCDirectorIOS *director = (CCDirectorIOS*)[CCDirector sharedDirector];
CC_VIEW *directorView = [director view];
[directorView addSubview:moviePlayer.view];
[directorView sendSubviewToBack:[moviePlayer view]];
directorView.opaque = NO;

非常感谢任何帮助。

enter image description here

1 个答案:

答案 0 :(得分:0)

仅供参考:没有办法在beet之间添加它,因为cocos2d视图控制器(包含所有图像)是在directorView上添加的一个层。 所以cocos2d director是一个视图控制器,绘制成一个视图,一个CCGLView。您无法向图层添加视图,因为图层不是视图。图层只是cocos2d使用的对象。

与其他视图一样,您可以在cocos2d CCGLView(作为GLView的父级或早期兄弟级)或cocos2d CCGLView(作为GLView的子级或更高版本兄弟级)之上添加视图,但不能在以下任何位置添加 - 之间。因此,您的UIView只能在逻辑上高于或低于所有Cocos2d绘图。

发回的只是使用:

[viewController.view  addSubview:moviePlayer.view];
[viewController.view  sendSubviewToBack:moviePlayer.view];