iOS - tableview多个显示

时间:2017-04-13 02:14:09

标签: ios cocoa-touch

我在tableview单元格中显示webview但是当我向上和向下滚动显示多个相同的Web视图时

请查看我的以下代码

videoHTML = [NSString stringWithFormat:@"\
                   <html>\
                   <head>\
                                         </head>\
                   <body>\
                   <iframe  src=\"%@\" ></iframe>\
                   </body>\
                   </html>", videoURL];

UIWebView *videoView = [[UIWebView alloc] initWithFrame:self.view.frame];

ccell.backgroundColor=[UIColor redColor];

[ccell.contentView addSubview:videoView];

[videoView loadHTMLString:[videoHTML stringByReplacingOccurrencesOfString:@"\n" withString:@"<br/>"] baseURL:nil];

请在这里坚持4个小时现在无法找到如何完成

1 个答案:

答案 0 :(得分:0)

如果您使用ReusableCell,当您获得ReuseableCell时,该单元格可能已经有videoView,您又添加了另一个videoView。这将导致“它显示多个相同的Web视图”。

您可以检查单元格是否有videoView,或使用自定义单元格并添加UIWebView属性。

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:@"CustomCellIdentifier"];

if (cell == nil) {
    cell = [[CustomCell alloc] init];
    cell.videoView = [[UIWebView alloc] initWithFrame:self.view.frame];

    cell.backgroundColor=[UIColor redColor];

    [cell.contentView addSubview:cell.videoView];
}

videoHTML = [NSString stringWithFormat:@"\
               <html>\
               <head>\
                                     </head>\
               <body>\
               <iframe  src=\"%@\" ></iframe>\
               </body>\
               </html>", videoURL];


[cell.videoView loadHTMLString:[videoHTML stringByReplacingOccurrencesOfString:@"\n" withString:@"<br/>"] baseURL:nil];