У меня есть uiwebview в пользовательской ячейке таблицы. Я пытаюсь отключить индикатор активности, когда загружается uiwebview. В настоящее время он просто появляется, но не исчезает.Скрыть индикатор активности при загрузке uiwebview
Я знаю, что мне нужно связать делегата, но оказалось немного более сложным, так как это пользовательская ячейка таблицы. Я связал делегата UIWebView.
Так videoCell.h
мой UITableViewCell
я есть:
@interface videoCell : UITableViewCell <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *webViewVideo;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *indicatorSpinner;
@end
следуют следующие в файле videoCell.m
.
- (void)webViewDidStartLoad:(UIWebView *)webView
{ [indicatorSpinner startAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{ [indicatorSpinner stopAnimating];
indicatorSpinner.hidden = TRUE;
}
В моем UITableViewController
if(indexPath.row == 0) {
videoCell *cell = nil;
cell = (videoCell *)[tableView dequeueReusableCellWithIdentifier:videoCellIdentfier];
if(!cell) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"videoViewCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
UIWebView* webView = (UIWebView*)[cell viewWithTag:1001];
//https://youtube.googleapis.com/v/6eK-W32IME0
NSString *html = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"http://www.youtube.com/v/CAGBKxvBkxI?fs=1&hl=en_US&enablejsapi=1\" type=\"application/x-shockwave-flash\" \
width=\"320\" height=\"200\"></embed>\
</body></html>";
[webView loadHTMLString:html baseURL:nil];
webView.scrollView.scrollEnabled = NO;
webView.scrollView.bounces = NO;
return cell;
Если вы не изменили значение по умолчанию для 'hidesWhenStopped' в свойстве indicatorSpinner, вам не нужно вызывать этот' indicatorSpinner.hidden = TRUE; ' –
@viperking, который не исправляет проблему; – memyselfandmyiphone
Вы отлаживали его, если он идет в webViewDidFinishLoad? – csk