【问题标题】:iphone - overlay transparent image on movieplayeriphone - 在电影播放器​​上覆盖透明图像
【发布时间】:2011-06-01 22:23:41
【问题描述】:

我已经能够成功地将图像叠加到电影播放器​​的顶部(请参阅 Apple 的 MoviePlayer 示例)。

但是,我想要屏幕上没有控件的效果,当触摸屏幕时,我的叠加层就会出现。

我的想法是创建一个带有透明 png 文件图像的叠加层,并覆盖整个显示器。当触摸这个透明图片时,会出现覆盖控件。

一切正常,除了在电影播放器​​上显示透明图像。即使使用透明的 png,图像也显示为全黑。如果我更改 UIView(覆盖)的 alpha,则无法识别触摸事件。

我显然是直接使用 drawrect() 的新手,因此我们将不胜感激。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    真的不需要使用drawRect。如果您愿意,您可以在 IB 中设置您的视图。

    您的问题是查找电影播放器​​视图。您可以尝试 2 件事。

    首先尝试将您的视图添加为应用的 UIWindow 实例的子视图:

    [window addSubview:myCustomTransparentTouchView];
    

    看看它是否有效。

    如果没有,请尝试遍历 UIWindow 实例的子视图:

    for(UIView* aView in [window subviews]){
    
        NSLog([[aView class] description]);
    
    }
    

    然后看看我是否看到类似 MPPalerView 之类的东西或任何可能被称为的东西。

    然后,尝试添加您想要的任何视图作为其子视图:

    [moviePlayerViewThatIFound addSubview:myCustomTransparentTouchView];
    

    无法保证其中任何一个都有效,但它们是可能的解决方案。

    【讨论】:

    • 这是一个有趣的问题,但问题和所选答案的组合并没有为像我这样的新手提供足够的背景信息来学习您的经验。
    【解决方案2】:

    Corey,感谢 cmets。

    我有一个可行的解决方案...如果我在 initWithFrame 中创建透明图像,而不是尝试在 drawRect 中绘制透明图像,一切都很好。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 2015-08-12
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多