【问题标题】:UIWebView/MPMoviePlayerController and the "Done" buttonUIWebView/MPMoviePlayerController 和“完成”按钮
【发布时间】:2010-01-30 04:20:24
【问题描述】:

我正在使用 UIWebView 来加载流式音频和视频。我已经正确设置了 UIWebView 委托,并且我正在完美地接收 webViewDidStartLoading 和 webViewFinishedLoading 事件。 webview 启动一个全屏窗口(可能是 MPMoviePlayerController)

Apple 的 MoviePlayer 示例获取 Windows 数组以确定 moviePlayerWindow 用于在 GUI 组件上添加自定义绘图/获取的窗口。我认为这是一个不好的做法/黑客。

我的期望是我应该能够弄清楚该按钮何时被委托方法或 NSNotification 单击。也可能是我必须用 isKindOf 调用来查看子视图或控制器,但我不认为这些是正确的方法。

  1. 我的预期是否不正确,如果是,为什么?
  2. 将操作绑定到“完成”按钮的正确方法是什么?

【问题讨论】:

    标签: iphone objective-c uiwebview delegates nsnotification


    【解决方案1】:

    没有涵盖此内容的 MPMoviePlayer 实例方法。您可以使用- (void) moviePlayBackDidFinish:(NSNotification*)notification 了解电影何时结束。或者你可以用你自己的覆盖现有的完成按钮,并以这种方式完全控制。

    【讨论】:

    • 看来moviePlayBackDidFinish 没有得到与webview 相关的事件。覆盖一个清晰的按钮会做我想要的(至少对于英语),但会立即因 Apple 的 UI 更改而中断。
    【解决方案2】:

    如果您的 MoviePlayer 处于全屏模式,您还可以使用 MPMoviePlayerWillExitFullscreenNotification 来控制操作。

    【讨论】:

    • 我也有同样的问题,但是当用户点击全屏进入/退出按钮时会调用这个通知。我想在点击完成按钮时专门执行一项任务。
    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2015-05-15
    相关资源
    最近更新 更多