iOS Video View

iOS Video View

Released 6 years ago , Last update 4 years ago

Video View is a UIView for playing, recording or downloading a video. The video can be played in a window or full-screen. This package includes full source code and a working demo.


UIVideoView is UIView subclass which creates a view for embedding any iOS supported video. For iPad, iPhone and iPod Touch.

You can load a local video or a video on the Internet.

You can use either normal size or a large play button to allow for playing the video..

Can have square or rounded corners.

Can set a thumbnail or use the predefined default thumbnail image.

The video view can be set to a specific size or be fullscreen.

Can indicate that the video is new which will then add a small new icon to upper-right hand corner of video.

iOS Support

This project supports iOS 7, iOS 8 , iOS 9 and iOS 10.


  • 5 0
  • 4 1
  • 3 0
  • 2 2
  • 1 0
3 Reviews Read Reviews


14 day 14-day money-back guarantee


Single App

  • Perpetual license

  • 1 application

  • Can distribute binary products only

  • Commercial use

  • 1 month support



  • Perpetual license

  • Unlimited projects

  • Can distribute code and binary products

  • Commercial use

  • 12 months support

Supported OS & SDK Versions

  • Supported build target - iOS 7.0, iOS 8.0, iOS 9.0 and iOS 10 / Mac OS 10.7 (Xcode 4.3.1, Apple LLVM compiler 3.1)
  • Earliest supported deployment target - iOS 6.1 / Mac OS 10.6
  • Earliest compatible deployment target - iOS 6.1 / Mac OS 10.6

NOTE: 'Supported' means that the library has been tested with this version. 'Compatible' means that the library should work on this OS version (i.e. it doesn't rely on any unavailable SDK features) but is no longer being tested for compatibility and may require tweaking or bug fixes to run correctly.


To use UIVideoView into your app, drag the UIVideoView.h, UIVideoView.m, *.png and *.png images into your project. Make sure that you indicate to copy the files into your project. Also make sure that the Target Membership is checked UIVideoView.m and .png and .jpg images.

closeVideoPlayer.png is the close icon displayed when playing the embedded video player. You can replace with your own close icon.

newVideo.png is the new icon displayed if the video is set to new (setNew:TRUE). You can replace with your own new icon.

playVideo.png is the play icon displayed in the video view for clicking on to play the video. You can replace with your own play icon.

Frameworks: also make sure you have the MobileCoreServices framework included.


// see Demo Example in Examples/Demo folder for full source code

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];

CGRect rect = [[UIScreen mainScreen] bounds];
screenWidth = rect.size.width;
screenHeight = rect.size.height;

self.view.backgroundColor = [UIColor blueColor];

NSURL * _thumbnailUrl1 = [NSURL URLWithString:@""];
NSURL * videoUrl1 = [NSURL URLWithString:@""];
videoView1 = [[UIVideoView alloc] initWithFrame:CGRectMake(100, 120, screenWidth - 200, 300) parent:self thumbnail:_thumbnailUrl1 video:videoUrl1 fullscreen:FALSE  recording:FALSE autostart:FALSE];
[self.view addSubview:videoView1];    

[videoView1 setNewVideo:TRUE];           // indicate is new video - shows new video icon....

NSURL * _thumbnailUrl2 = [NSURL URLWithString:@""];
NSURL * videoUrl2 = [NSURL URLWithString:@""];
videoView2 = [[UIVideoView alloc] initWithFrame:CGRectMake(100, 500, screenWidth - 200, 300) parent:self thumbnail:_thumbnailUrl2 video:videoUrl2 fullscreen:FALSE  recording:TRUE autostart:FALSE];
[self.view addSubview:videoView2];    

[videoView2 setFullscreen:TRUE];         // switch to fullscreen player
[videoView2 setUseLargePlayButton:TRUE]; // use large play button overlay
[videoView2 setUseRoundCorners:FALSE];   // do not use round corners
[videoView2 setUseRoundCornerRadius:40];  // round corner radius, higher for rounder corners
[videoView2 setThumbnail:UIVideoViewThumbnailVideoProjector];  // set the thumbnail to video projector

// Note: can replace the newVideo.png image file to use your own new video icon
//       can replace the playVideo.png image file to use your own play overlay icon


- (void)setThumbnail:(UIVideoViewThumbnail)_thumbnail;

- (UIImage *)getThumbnail:(UIVideoViewThumbnail)_thumbnail;

- (void)setFullscreen:(BOOL)_fullscreen;

- (void)setNewVideo:(BOOL)_newVideo;

- (void)setUseLargePlayButton:(BOOL)_useLargePlayButton;

- (void)setUseRoundCorners:(BOOL)_useRoundCorners;

- (void)setUseRoundCornerRadius:(int)_radius;

- (BOOL)isNewVideo;

- (BOOL)hasCamera;

- (BOOL)recordVideo;

- (BOOL)showVideoPlayer;

- (void)closeVideoPlayer;

- (NSString *)getDeviceType;

- (NSString *)getRealDeviceType;

- (BOOL)isRunningIPad;

Example Project Demo

The UIVideoViewDemo example in the Examples/Demo folder demonstrates using UIVideoView.

3 licenses, starting from From » $19.99 View Licenses

Get A Quote

What do you need?
  • Custom development
  • Integration
  • Customization / Reskinning
  • Consultation
When do you need it?
  • Soon
  • Next week
  • Next month
  • Anytime

Thanks for getting in touch!

Your quote details have been received and we'll get back to you soon.

Or enter your name and Email
  • G Grace 3 years ago
    Does you support m3u8 download?
    • Thomas A. Markel Publisher 2 years ago
      It might as I have never tried it. If you purchase the control to try this out and find it doesn't work you can request a refund.
  • AR Ahmad Razoogi 4 years ago
    Is it possible to use my own UIView to record the video and audio by this component?
    • Thomas A. Markel Publisher 3 years ago
      Yes you can use your view. Create an instance of UIVideoView but do not add to your view so UIVideoView instance is hidden. Call UIVideoView recordVideo method. When the recording is done, videoUrl will contain the path to the video AND the video will be saved to your Photos. Note: if you want to access the UIVideoView videoUrl property you will have to add the following to UIVideoView.h to expose it or add a getVidelUrl method. @property (nonatomic, strong) NSURL * videoUrl;
  • TM Thomas A. Markel 4 years ago
    New version 3.0 add ability to download the video and save to the camera roll.