UIWebView
をUITableViewCellに埋め込みたいです。この方法でUITableViewCellにUIwebViewを埋め込む
1、私はセットアップセルのデータベース::
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell * cell = [tableView
dequeueReusableCellWithIdentifier:cellIdenWebViewIntro
forIndexPath:indexPath];
PlayListModel * model = [PlayListModel new];
cell.model = model;
return cell;
}
をセル内に、私のセットアップのWebViewとsetModel
方法でURLリクエストを送信します。
- (void)setModel:(PlayListModel *)model{
_model = model;
NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://temp url"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[self.webView loadRequest:request];
}
しかし、いくつかの問題があります
これは、セルを設定するのに非常に普通の方法です。しかし、tableViewがスクロールダウンしてWebViewCellにスクロールすると、システムは(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
と呼ばれ、WebViewは何度もURLリクエストを送信します。 WebViewのHTMLコンテンツをキャッシュする方法があります。ユーザーが現在のビューコントローラをポップアウトしなかった場合は、HTMLをWebViewに再利用しますが、リクエストを複数回送信する必要はありません。
p.s NSURLRequestの作成時に既にキャッシュポリシーを設定しましたが、機能しませんでした。
正確には、HTMLコンテンツをダウンロードする方法はありますか? – Neko
@Nekoはい、更新された回答を確認してください。 –