iOS Video View

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. View Pricing
scroll down for more


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.



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.