2013-03-18 42 views
6

Tôi là một noob để phát triển iphone và tôi gặp sự cố khi hiển thị video youtube được nhúng trong một UIwebview. Hiện tại, video youtube nằm ở góc trên cùng bên trái của uiwebview và nó cũng có biên giới gây phiền nhiễu. Tôi đặt khung youtube thành cùng kích thước như uiwebview và chế độ xem web được đặt thành "tỷ lệ cho vừa". Làm thế nào để làm cho nội dung youtube của tôi phù hợp với toàn bộ màn hình và thoát khỏi biên giới? Bất kỳ trợ giúp nào cũng được đánh giá rất cao.Tại sao Video Youtube không điền UiWebView?

MY MÃ

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

bạn đang đặt chiều rộng và chiều cao thành 320x230 một cách rõ ràng. thử 100%? hoặc lập trình tạo tiện ích bằng javascript và nhận kích thước của chế độ xem web. –

+0

Cảm ơn bạn đã trả lời. Làm cách nào/Nơi nào tôi đặt kích thước thành 100% –

+0

định nghĩa iframe nội dòng, nơi bạn chỉ định 'width = \" 320 \ "height = \" 230 \ "' –

Trả lời

6

Có u cố gắng này ......

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]; 

Note Đó %% được sử dụng cho nhân vật%.

+0

Điều này đang hoạt động để hiển thị ở độ rộng đầy đủ, nhưng chỉ hiển thị ở nửa chiều cao (115). Có suy nghĩ gì không? Quy mô –

+1

để phù hợp với uiwebview được sử dụng để mở rộng phạm vi xem web theo kích thước của chế độ xem web ..... chỉ cần thay đổi chiều cao của chế độ xem web 115 thành 320 và xem ..... – NULL

0

Vì vậy, trước tiên bạn phải tạo UIWebView và thêm nó vào chế độ xem chính của bạn. Trong phần sau, tôi tạo chế độ xem web trỏ đến www.example.com nơi tôi đã nhúng clip YouTube mà tôi muốn phát, tôi đặt nó là ẩn vì sau này tôi muốn khởi chạy toàn màn hình.`

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

Vì vậy, ở đây tôi quét qua tất cả các nút trong webview và chọn nút đầu tiên được tìm thấy bằng cách sử dụng chức năng 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]; 
    } 
    } 
Các vấn đề liên quan