开发者

Embed Youtube in UIWebView behind transparent img. Wmode transparent and z-index doesn't work

Its the first time that I use UIWebView and the first time that I use video in iPhone. The video plays, BUT:

I want to have an old school tv (round corners) in foreground with switches and so on. The tv is an image with transparent pixels in the middle, so that a video lying behind the tv will shine through as if the video would be shown on the tv.

But first of all the video has a border that I can't remove and second it's always in the foreground. In Safari and in Firefox on Mac it's working. So is it an iPhone thing, could it be that it simply won't work on iPh开发者_开发技巧one ? Or do I have some css/html typos ?

I'm using this code:

- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame {
  NSString *embedHTML = @"\
  <html><head>\
  <style type=\"text/css\">\
  body {\
  background-color: black;\
  }\
  #container{\
  position: relative;\
  z-index:1;\
  }\
  #video,#videoc{\
  position:absolute;\
  z-index: 1;\
  border: none;\
  }\
  #tv{\
  background: transparent url(tv.png) no-repeat;\
  width: 320px;\
  height: 205px;\
  position: absolute;\
  top: 0;\
  z-index: 999;\
  }\
  </style>\
  </head><body style=\"margin:0\">\
  <div id=\"tv\"></div>\
  <object id=\"videoc\" width=\"240\" height=\"160\">\
  <param name=\"movie\" value=\"%@\"></param>\
  <param name=\"wmode\" value=\"transparent\"></param>\
  <embed wmode=\"transparent\" id=\"video\" src=\"%@\" type=\"application/x-shockwave-flash\" \
  width=\"240\" height=\"160\"></embed>\
  </object>\
  </body></html>";
  NSString *path = [[NSBundle mainBundle] bundlePath];
  NSURL *baseURL = [NSURL fileURLWithPath:path];      
  NSString *html = [NSString stringWithFormat:embedHTML, urlString,urlString];
  UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
  [videoView loadHTMLString:html baseURL:baseURL];
  [self.view addSubview:videoView];
  [videoView release];      
}


I have not found a css/html/js solution.

So now I add the TV.png to a UIImageView and lay that view on top of the UIWebView, it's working and not that big of a hack, so I will go with it, but maybe someone can still answer the original question ?

So my current layer order is now:

UIView
  add: UIWebView
  add: UIImageView (with UIImage TV.png)  
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜