我有一個tableview,其中包含每個單元格中的webviews。我想爲每個單元格添加活動指示器。所以,無論何時webview確實有效,該單元的特定活動指示器應該停止動作。當然,我的代碼中的webview代理不會知道activityIndicator。我怎樣才能做到這一點?謝謝。TableViewCell中evey UIWebView的ActivityIndicator
一些代碼:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;
if (cell == nil) {
NSLog(@"creating a new cell");
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]autorelease];
[tableView setRowHeight:screenHeight-15];
UIWebView *webview=[[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, screenWidth,screenHeight-95)]autorelease];
webview.delegate = self;
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:[NSURL URLWithString:url]];
[webview loadRequest:nsrequest];
[self.view addSubview:webview];
[cell.contentView addSubview:webview];
UIActivityIndicatorView *activityIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]autorelease];
activityIndicator.center = CGPointMake(screenWidth/2, (screenHeight/2)-50);
[activityIndicator startAnimating];
[cell.contentView addSubview:activityIndicator];
}
return cell;
}
的WebView委託:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[activityIndicator stopAnimating];
}
做你嘗試過什麼?在這裏發佈你的代碼 – Pawan 2014-12-19 09:24:39
我添加了一些代碼。 – tyler 2014-12-19 09:36:13
我會建議你製作一個自定義單元格並在其中實現webview及其代理。你可以在這裏使用自定義單元格,這將是處理所有這些問題的更好方法。 – Pawan 2014-12-19 09:39:45