2013-03-18 15 views
6

Sono uno sviluppatore noob per iphone e sto riscontrando problemi durante la visualizzazione di un video di YouTube incorporato in un UIwebview. Attualmente, il video di YouTube si trova nell'angolo in alto a sinistra di uiwebview e ha anche un bordo fastidioso. Ho impostato il frame di youtube sulle stesse dimensioni del mio uiwebview e la webview è impostata su "scale to fit". Come faccio a rendere il mio contenuto di YouTube adatto all'intero schermo e a sbarazzarmi del confine? Qualsiasi aiuto è molto apprezzato.Perché il video di YouTube non riempie UiWebView?

MIO CODICE

NSString *video_ID = youtubeid; 
NSString *htmlStr = [NSString stringWithFormat:@"<iframe class=\"youtube-player\" type=\"text/html\" width=\"320\" height=\"230\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\"></iframe>",video_ID]; 
[videoScreen loadHTMLString:htmlStr baseURL:nil]; 

EDIT

NSString *video_ID = youtubeid; 
NSString *htmlStr = [NSString stringWithFormat:@"<iframe class=\"youtube-player\" type=\"text/html\" width=\"100%\" height=\"100%\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\"></iframe>",video_ID]; 
[videoScreen loadHTMLString:htmlStr baseURL:nil]; 
+1

imposta la larghezza e l'altezza su 320x230. provare al 100%? o crea a livello di programmazione il widget con javascript e ottieni le dimensioni della vista web. –

+0

Grazie per la risposta. Come/Dove posso impostare le dimensioni al 100% –

+0

la definizione di iframe inline, in cui si specifica 'width = \" 320 \ "height = \" 230 \ "' –

risposta

6

u hanno provato questo ......

NSString *video_ID = youtubeid; 
NSString *htmlStr = [NSString stringWithFormat:@"<iframe class=\"youtube-player\" type=\"text/html\" width=\"100%%\" height=\"100%%\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\"></iframe>",video_ID]; 
[videoScreen loadHTMLString:htmlStr baseURL:nil]; 

notare che %% viene utilizzato per il carattere%.

+0

Questo sta funzionando per la visualizzazione a tutta larghezza, ma viene visualizzato solo a metà altezza (115). qualche idea? La scala –

+1

da utilizzare in uiwebview viene utilizzata per ridimensionare il contenuto della visualizzazione Web in base alle dimensioni della visualizzazione Web ... basta modificare l'altezza della vista Web da 115 a 320 e vedere ..... – NULL

0

Quindi, per prima cosa è necessario creare un UIWebView e aggiungerlo alla vista principale. Nel seguente creo un WebView indicando www.example.com dove ho incorporare il clip di YouTube che voglio giocare, ho impostato nascosta perché sarò poi voglio lanciare il video completo screen.`

UIWebView *htmlView; 
htmlView = [[UIWebView alloc] initWithFrame:CGRectMake(55.0f, 105.0f, 369.0f, 178.0f) ]; 
    [htmlView setBackgroundColor:[UIColor blackColor]]; 
    htmlView.hidden = YES; 
    htmlView.delegate = self; 
     [self addSubview:htmlView]; 
     [htmlView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"www.example,com"]]]; ` 
0

Quindi qui eseguo la scansione di tutti i pulsanti nella visualizzazione Web e seleziona il primo pulsante trovato utilizzando la funzione sendActionsForControlEvents.

UIButton* findButtonInView(UIView* view) 
{ 
UIButton *button = nil; 
    if([view isMemberOfClass:[UIButton class]]) 
    { 
    return (UIButton*)view; 
    } 

    if(view.subviews && [view.subviews count] > 0) 
    { 
    for(UIView *subview in view.subviews) 
    { 
    button = findButtonInView(subview); 
    if(button) 
    { 
     return button; 
    } 
    } 
    } 

    return button; 
     } 

    -(void)webViewDidFinishLoad:(UIWebView*)webView 
    { 
    UIButton *button = findButtonInView(webView); 
     if(button != nil) 
     { 
     [button sendActionsForControlEvents:UIControlEventTouchUpInside]; 
    } 
    } 
Problemi correlati