在透明img后面的UIWebView中嵌入Youtube。 Wmode透明和z-index不起作用

时间:2010-06-10 01:05:58

标签: iphone uiwebview youtube embed

这是我第一次使用UIWebView,第一次在iPhone中使用视频。 视频播放但是

我希望在前台有一台旧学校电视(圆角)和开关等等。电视是中间透明像素的图像,因此电视后面的视频将会闪耀,就好像视频会在电视上播放一样。

但首先,视频有一个我无法删除的边框,其次是它总是在前景中。在Safari和Mac上的Firefox中,它正在运行。那么它是iPhone的东西,难道它不能在iPhone上运行吗?或者我有一些css / html拼写错误?

我正在使用此代码:

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

1 个答案:

答案 0 :(得分:0)

我还没有找到css / html / js解决方案。

所以现在我将TV.png添加到UIImageView并将该视图放在UIWebView的顶部,它正在工作而不是那么大的黑客,所以我会继续使用它,但也许有人仍然可以回答原始问题?

所以我现在的图层顺序是:

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