我已经能够成功地将图像叠加在电影播放器的顶部(参见Apple的MoviePlayer示例)。
但是,我希望屏幕上没有控件的效果,当触摸屏幕时,我的叠加层会出现。
我的想法是创建一个带有透明png文件的图像的叠加层,并覆盖整个显示。触摸此透明图像时,将显示叠加控件。
一切正常,但在电影播放器上显示透明图像除外。即使使用透明的png,图像也显示为全黑。如果我更改UIView(覆盖)的alpha,则无法识别触摸事件。
我显然很想直接使用drawrect(),所以任何见解都会受到赞赏。
答案 0 :(得分:0)
确实不需要使用drawRect。如果需要,您可以在IB中设置您的视图。
您的问题是找到电影播放器视图。你可以尝试两件事。
首先尝试将您的视图添加为应用的UIWindow实例的子视图:
[window addSubview:myCustomTransparentTouchView];
看看它是否有效。
如果没有,请尝试循环遍历UIWindow实例的子视图:
for(UIView* aView in [window subviews]){
NSLog([[aView class] description]);
}
看看我是否看到类似MPPlalerView或其他任何东西。
然后,尝试添加您想要的任何视图作为其子视图:
[moviePlayerViewThatIFound addSubview:myCustomTransparentTouchView];
无法保证其中任何一项都有效,但它们是可能的解决方案。
答案 1 :(得分:0)
科里,感谢您的评论。
我有一个有效的解决方案......如果我在initWithFrame中创建透明图像,而不是尝试在drawRect中绘制透明图像,一切都很好。