如何在 ios 8 swift MPMoviePlayerDidExitFullscreenNotification 中触发完成按钮事件?

Posted

技术标签:

【中文标题】如何在 ios 8 swift MPMoviePlayerDidExitFullscreenNotification 中触发完成按钮事件?【英文标题】:how to trigger done button event in ios 8 swift MPMoviePlayerDidExitFullscreenNotification? 【发布时间】:2014-08-23 07:44:00 【问题描述】:

我的代码在这里:

在 viewDidLoad 中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButtonClick", name: MPMoviePlayerWillExitFullscreenNotification, object: nil)

我的处理程序:

func doneButtonClick(sender:NSNotification?)
    println("finishPreload");


let player:MPMoviePlayerController = MPMoviePlayerController()

我的 MPMoviePlayerController:

let videoUrl = (json[0]["files"][0]["furl"]).string

self.player.view.frame  = self.view.bounds
self.view.addSubview(self.player.view)

self.player.scalingMode = .AspectFill
self.player.controlStyle = .Fullscreen;
self.player.repeatMode = .One
self.player.contentURL = NSURL(string: videoUrl)
self.player.prepareToPlay()
self.player.play()

当我单击左上角的完成按钮时,视频停止,但没有触发 doneButtonClick 方法,任何人都可以帮忙吗?我试过 MPMoviePlayerWillExitFullscreenNotificationMPMoviePlayerDidExitFullscreenNotification 对于服务时间,两者都不起作用。

【问题讨论】:

【参考方案1】:

您的"doneButtonClick" 函数只有一个参数。所以你应该在函数名后使用":"

即; NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButtonClick:", name: MPMoviePlayerWillExitFullscreenNotification, object: nil)

【讨论】:

【参考方案2】:

斯威夫特 2 答案:

override func viewDidLoad() 
    super.viewDidLoad()
    ...
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MediaVideoController.moviePlayerDidFinishPlaying(_:)) , name: MPMoviePlayerDidExitFullscreenNotification, object: videoPlayerController)


func moviePlayerDidFinishPlaying(notification: NSNotification) 
    videoPlayerController.controlStyle = .None

【讨论】:

以上是关于如何在 ios 8 swift MPMoviePlayerDidExitFullscreenNotification 中触发完成按钮事件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ios 8 swift MPMoviePlayerDidExitFullscreenNotification 中触发完成按钮事件?

如何在使用 Swift 在 iOS 8 中播放电影时旋转 MPMoviePlayer?

如何在 SWIFT3 XCODE 8.2 的 IOS 应用程序中显示 Snackbar 的操作中的特定视图

如何在 Xcode 8 和 iOS 10 中使用 AFNetworking 类和 Swift 3 上传图像

如何在SWIFT3 XCODE 8.2中的IOS应用程序中的Snackbar的操作中显示特定视图

如何在 iOS 8/Swift 中构建自定义视图控制器的呈现?变量初始化被证明是困难的