【问题标题】:UIWebView not being displayed in UITableViewCell - iOSUIWebView 未显示在 UITableViewCell - iOS
【发布时间】:2016-01-26 09:31:53
【问题描述】:

在下面的代码中,webTableViewCell 是 UITableViewCell 的子类(我创建它是为了避免使用this),其中我在viewController 中从 tableView 的原型单元格绑定了 webview 的 IBOutlet到这个webTableViewCell 班级。

URLs 正在加载,而 tableViewCell 中的 webViews 没有。我认为问题出在tableView:cellForRowAtIndexPath: 方法中。有人可以帮帮我吗?

   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        webTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"My Cell"];

if(!cell)
cell = [[webTableViewCell alloc]initWithFrame:CGRectZero];


    NSString *urlString = [NSString stringWithFormat:@"http://www.facebook.com/%@",[myArrayOfLinks objectAtIndex:indexPath.row]];
    NSURL *url = [NSURL URLWithString:urlString];
            NSLog(@"%@", url);


NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[cell.webView loadRequest:urlRequest];

return cell;
    }

【问题讨论】:

  • 正在加载 URL 是什么意思?能否提供截图。
  • 我的意思是正在生成的网址,我已经通过NSLog(@"%@", url); 验证了您想要哪些屏幕截图?
  • 发布您的自定义单元格类的代码,并添加 iOS 模拟器的屏幕截图,我们可以了解显示的内容和不显示的内容
  • 除了在 .h 文件的接口部分绑定 webview 的出口外,我在自定义单元类中什么也没做!

标签: ios uitableview uiwebview


【解决方案1】:

好的,不需要自定义单元格类。

执行以下操作:

  1. 在情节提要中将您的单元格类改回UITableViewCell,并将其重用标识符设为“MyCell”(不带空格)。

  2. 拖动一个 webview 并将其放入情节提要中的原型单元格中(我猜你已经完成了这部分),并将其标记值为 999

  3. 在您的 cellForRowAtIndexPath 方法中,执行以下操作:

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell" forIndexPath:indexPath];
    
    NSString *urlString = [NSString stringWithFormat:@"http://www.facebook.com/%@",[myArrayOfLinks objectAtIndex:indexPath.row]];
    
    NSURL *url = [NSURL URLWithString:urlString];
    
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
    
    UIWebView *webView = [cell viewWithTag:999];
    [webView loadRequest:urlRequest];
    
    return cell;
    

立即运行您的应用并检查。这应该工作。

【讨论】:

  • 我不明白为什么它不起作用。我什至尝试添加一个简单的 UIView 然后像你说的那样使用标签,但它们没有被显示!
  • 您能否给我发送一个示例文件,其中仅使用标签将UIView 添加到 tableViewCell 中?
  • 抱歉,目前无法向您发送文件。 cell 的创建在答案中是正确的。您的 tableView 一定有问题。您的tableView 连接正确吗?你在做[self.tableView reloadData] 吗?兄弟,发布你的故事板截图,.h.m 文件!
  • 你没有告诉我做[self.tableView reloadData]?我会在稍后发布它们
  • 我们不是要在这里喂你!有些事情是显而易见的。无论如何,在viewDidLoad 中重新加载您的表格视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
相关资源
最近更新 更多