Skip to main content

Youtube player view in iOS

#pragma mark - UIWebViewFactory

+ (UIWebView *)youtubePlayerViewWithFrame:(CGRect)frame andURLString:(NSString *)URLString {
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
    videoView.backgroundColor = [UIColor clearColor];
    videoView.opaque = NO;
    NSString *videoHTML = [NSString stringWithFormat:@"\
                           <style type=\"text/css\">\
                           iframe {position:absolute; top:0; margin-top:0px;}\
                           body {background-color:#000; margin:0;}\
                           <iframe width=\"%0.0f\" height=\"%0.0f\" src=\"%@\" frameborder=\"0\" allowfullscreen></iframe>\
                           </html>", frame.size.width, frame.size.height, [ACMUtility youtubeEmbededURLStringFromURLString:URLString]];
    [videoView loadHTMLString:videoHTML baseURL:nil];
    return videoView;


How to call this method:

                UIWebView *videoView = [CommonClass youtubePlayerViewWithFrame:view.bounds andURLString:attrib.source];
                videoView.tag = 2;
                [view addSubview:videoView];


Popular posts from this blog

How to kill/exit iOS application on a button click programmatically

I had been practising below code to kill an iOS application. exit(0); But last week, my application was rejected by app store due to following reason: We found that your app includes a UI control for quitting the app. This is not in compliance with the iOS Human Interface Guidelines, as required by the App Store Review Guidelines . To avoid any such rebuff, suspend the application using following code snippet. UIApplication.shared.perform(#selector(NSXPCConnection.suspend)) Good news is that now my application is passed the  iOS Human Interface Guidelines and live on app store.

Return multiple values from a function in objective C

We can return tuples in swift as follows:- func getData () -> ( Int , Int , Int ) { //...code here return ( hour , minute , second ) } You can't do that in objective-c. Best option is using parameters by reference . Something like this. - ( void ) getHour :( int *) hour minute :( int *) minute second :( int *) second { * hour = 1 ; * minute = 2 ; * second = 3 ; } And use it like this. int a , b , c ; [ self getHour :& a minute :& b second :& c ]; NSLog (@ "%i, %i, %i" , a , b , c );