Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Cloud Video
    • Overview
    • Control
      • Overview
        • Getting started
          • VideoView
    • Browser autoplay policy
  • Access management
  • Pricing policy
  • Audit Trails events
  • Release notes

In this article:

  • Contents
  • Discussion
  • Basic use in UIKit
  • SwiftUI
  • Inheritance
  • Methods
  • Examples
  1. Video Player
  2. SDK
  3. iOS
  4. CloudVideoPlayerUI
  5. VideoView

VideoView

Written by
Yandex Cloud
Updated at May 28, 2026
  • Contents
  • Discussion
  • Basic use in UIKit
  • SwiftUI
  • Inheritance
  • Methods
  • Examples
public final class VideoView: UIView

UIView component for displaying videos with the built-in control skin.

ContentsContents

  • Methods

DiscussionDiscussion

VideoView extends the basic VideoSurface design with integrated controls: play and pause buttons, a progress bar, a buffering indicator, full-screen support, an error screen, and logo display support.

Use VideoView if you need a turnkey player skin. For minimalistic embedding without a skin or to implement a custom skin, use VideoSurface from CloudVideoPlayer.

Basic use in UIKitBasic use in UIKit

SwiftUISwiftUI

InheritanceInheritance

  • UIView

MethodsMethods

public func setupLogo(_ configuration: (UIImageView) -> Void)

Configures a logo displayed over the video.

Parameters:

  • configuration: Closure for configuring the logo's UIImageView.

public func reset()

Detaches the player from the view.


public func attach(player: YaPlayer)

Attaches the player to the view.

Parameters:

  • player: Player instance to display.

public func getPipController() -> PictureInPictureController?

Returns the Picture-in-Picture (PiP) mode controller, if available.

Returns: PictureInPictureController instance, or nil if the device does not support PiP.

ExamplesExamples

import CloudVideoPlayerUI

class PlayerViewController: UIViewController {
  private let player = environment.player()
  private let videoView = VideoView()

  override func viewDidLoad() {
    super.viewDidLoad()

    view.addSubview(videoView)
    videoView.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.activate([
      videoView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
      videoView.leadingAnchor.constraint(equalTo: view.leadingAnchor),
      videoView.trailingAnchor.constraint(equalTo: view.trailingAnchor),
      videoView.heightAnchor.constraint(equalTo: videoView.widthAnchor, multiplier: 9.0 / 16.0)
    ])

    videoView.attach(player: player)
  }
}
import SwiftUI
import CloudVideoPlayerUI

struct VideoPlayerView: UIViewRepresentable {
  let player: YaPlayer

  func makeUIView(context: Context) -> VideoView {
    let view = VideoView()
    view.attach(player: player)
    return view
  }

  func updateUIView(_ view: VideoView, context: Context) {
    view.attach(player: player)
  }
}

Was the article helpful?

Previous
VideoType
Next
Getting started
© 2026 Direct Cursus Technology L.L.C.