2016-01-26 2 views
0

В следующем коде webTableViewCell является подклассом UITableViewCell (который я создал, чтобы избежать this), в котором я привязал IBOutlet webview из ячейки прототипа таблицыView в мой viewControllerwebTableViewCell класс.UIWebView не отображается в UITableViewCell - iOS

URL-адреса загружаются, тогда как webViews в таблицеViewCell нет. Я думаю, что проблема заключается в методе 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; 
    } 
+0

Что вы понимаете, по ссылкам загружаются? Можете ли вы предоставить скриншоты. – hyd00

+0

Я имею в виду, что сгенерированы URL-адреса, которые я проверил с помощью 'NSLog (@"% @ ", url);' Какие скриншоты вы хотите? – Viki

+0

Опубликуйте свой код для собственного класса ячеек и добавьте скриншоты iOS simulator se, мы можем иметь представление о том, что отображается, а что нет – hyd00

ответ

0

Хорошо, не нужно создавать пользовательский класс ячеек.

сделать следующее:

  1. Измените класс клеток обратно UITableViewCell в раскадровке и сделать его повторное использование идентификатора в качестве «MyCell» (без пробелов).

  2. Перетащите веб-просмотр и поместите его в свою ячейку прототипа в раскадровку (я думаю, вы уже сделали эту часть), и присвоите ей значение тега как 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; 
    

запустить приложение прямо сейчас и проверьте. это должно сработать.

+0

Я не понимаю, почему он не работает. Я даже пытался добавить простой UIView, а затем использовал тег, как вы сказали, но они не отображаются! – Viki

+0

Можете ли вы отправить мне образец файла с помощью только 'UIView', добавленного в tableViewCell, используя теги? – Viki

+0

Жаль не могу отправить вам файл в данный момент. В ответе правильное создание ячейки. Должна быть проблема с вашим табличным представлением. Правильно ли подключен ваш 'tableView'? Вы делаете '[self.tableView reloadData]'? Bro, опубликовать скриншоты вашей раскадровки, '.h' и' .m' файлы! – hyd00

Смежные вопросы