通过编程XCODE嵌入YouTube视频

发布于 2025-02-05 10:02:22 字数 1331 浏览 3 评论 0 原文

我是Xcode的初学者,我想在Xcode(Storyboard)上以编程方式嵌入YouTube视频。 我在视图控制器上写了这一点,但它不起作用:

import UIKit
import youtube_ios_player_helper

class ViewController: UIViewController {
    
    var playerView: YTPlayerView!
 
    
    private let myView: YTPlayerView = {
        let myView = YTPlayerView()
        myView.translatesAutoresizingMaskIntoConstraints = false
        myView.backgroundColor = .link
        return myView
    }()


    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .cyan
        
        playerView?.load(withVideoId: "bsM1qdGAVbU&")
        
        view.addSubview(myView)
        addConstraints()
    }

    private func addConstraints() {
        var constraints = [NSLayoutConstraint]()
        
        constraints.append(myView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 60))
        constraints.append(myView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -60))
        constraints.append(myView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -500))
        constraints.append(myView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 60))

        NSLayoutConstraint.activate(constraints)
    }

}

I am a beginner in Xcode and I would like to embed a YouTube video programmatically (without main.storyboard) on Xcode (storyboard).
I wrote this on my view controller but it doesn't work:

import UIKit
import youtube_ios_player_helper

class ViewController: UIViewController {
    
    var playerView: YTPlayerView!
 
    
    private let myView: YTPlayerView = {
        let myView = YTPlayerView()
        myView.translatesAutoresizingMaskIntoConstraints = false
        myView.backgroundColor = .link
        return myView
    }()


    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .cyan
        
        playerView?.load(withVideoId: "bsM1qdGAVbU&")
        
        view.addSubview(myView)
        addConstraints()
    }

    private func addConstraints() {
        var constraints = [NSLayoutConstraint]()
        
        constraints.append(myView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 60))
        constraints.append(myView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -60))
        constraints.append(myView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -500))
        constraints.append(myView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 60))

        NSLayoutConstraint.activate(constraints)
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼角的笑意。 2025-02-12 10:02:22

我对您正在使用的 youtube_ios_player_helper 一无所知,所以这只是一个有教养的猜测。但是我认为问题在于您既有 playerview and myview ytplayerview s。

  1. 您调用 playerview?.load(withVideoid:“ bsm1qdgavbu& amp;“”)> playerview 从未初始化
  2. 您初始化 myview ,但是切勿调用 myview.load(withVideoid:“ bsm1qdgavbu& amp;“”)

我会摆脱 playfiew ,然后将您的ViewDidload更新为call myview.load(withVideoid)(withVideoid:“ bsm1qdgavbu&amp;“)<”)<)<) /代码>而是。

I know nothing about the youtube_ios_player_helper you're using, so this is just an educated guess. But I think the problem is that you have both playerView and myView, which are both YTPlayerViews.

  1. You call playerView?.load(withVideoId: "bsM1qdGAVbU&") but playerView is never initialized
  2. You initialize myView, but then never call myView.load(withVideoId: "bsM1qdGAVbU&")

I would get rid of playerView and update your viewDidLoad to call myView.load(withVideoId: "bsM1qdGAVbU&") instead.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文