简体   繁体   English

如何使用Swift在iOS中防止视频放大/缩小?

[英]How do I prevent the video from zooming in/out in iOS with Swift?

I'm a beginner iOS Swift developer, and new to StackOverflow. 我是iOS Swift的初学者,也是StackOverflow的新手。 I'm trying to develop my first game, and I wanted to use a video as an intro. 我正在尝试开发我的第一个游戏,我想将视频用作介绍。 I got the video playing and working properly, but a problem I am having is when I double tap the screen the video zooms in and out. 我可以播放视频并正常工作,但是我遇到的问题是,双击屏幕时,视频会放大和缩小。 Is there any way to prevent this? 有什么办法可以防止这种情况?

Here is my code: 这是我的代码:

func playVideo() {

    if let
        path = NSBundle.mainBundle().pathForResource("wakyIntro", ofType:"mp4"),
        url = NSURL(fileURLWithPath: path),
        moviePlayer = MPMoviePlayerController(contentURL: url) {
            self.moviePlayer = moviePlayer
            moviePlayer.view.frame = self.view.bounds
            moviePlayer.prepareToPlay()
            moviePlayer.scalingMode = .AspectFill
            self.view.addSubview(moviePlayer.view)
            moviePlayer.fullscreen = true
            moviePlayer.controlStyle = MPMovieControlStyle.None
            moviePlayer.movieSourceType = MPMovieSourceType.File
            moviePlayer.play()
            println("Video loaded successfully")
    } else {
        debugPrintln("Ops, something wrong when playing the video")
    }
}

Then I call it from a separate ViewController that I use for my Main Menu 然后从用于主菜单的单独ViewController调用它

func mainMenuViewControllerDidPressVideo(mainMenuViewController: MainMenuViewController) {
    playVideo()
}

Set moviePlayer.view.userInteractionEnabled to false. moviePlayer.view.userInteractionEnabled设置为false。

moviePlayer.view.userInteractionEnabled = false

Or set controlStyle to Full Screen 或将controlStyle设置为全屏

moviePlayer.controlStyle = MPMovieControlStyleFullscreen

Just disable the user interaction. 只需禁用用户交互即可。 That will not cause the video to zoom in/out and it will ignore all user interaction in movie player view. 这不会导致视频放大/缩小,并且会忽略电影播放器​​视图中的所有用户交互。

moviePlayer.view.userInteractionEnabled = false

Hope this helps.... :) 希望这可以帮助.... :)

You can use MPMoviePlayerViewController instead of MPMoviePlayerController : 您可以使用MPMoviePlayerViewController代替MPMoviePlayerController

movieViewController = MPMoviePlayerViewController(contentURL: url)
movieViewController?.moviePlayer.fullscreen = true
movieViewController?.moviePlayer.controlStyle = .Embedded
moviePlayer.view.userInteractionEnabled = false
self.presentMoviePlayerViewControllerAnimated(movieViewController)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM