我有一个像这样的自定义UITableViewCell:
// Custom.h
@interface CustomQuestionCell : UITableViewCell {
IBOutlet UIWebView *mywebView;
}
-(void) AssignWebView:(NSString *) _text;
// Custom.m
-(void) AssignWebView:(NSString *) _text {
[mywebView loadHTMLString:_text baseURL:nil];
}
我可以在名为MainViewController的文件中成功使用UITableView中的UITableViewCell。 UITableViewCell的委托是MainViewController。在MainViewController中,我调用下面的代码来为UIWebView赋值。
// cellForRowAtIndexPath
//CustomQuestionCel.xib uses the class Custom defined above.
CustomQuestionCell *cell = (CustomQuestionCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if(cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"CustomQuestionCellView" owner:self options:nil];
cell = tblQuestionCell;
}
[cell AssignWebView:[ListOfQuestions objectAtIndex:indexPath.row]];
return cell;
我的问题是:
我想在UIWebView加载数据的同时在每个单元格中显示活动指示器。
我该如何做到这一点?
答案 0 :(得分:1)
1。在CustomQuestionCell
标题(.h文件)中:
@interface CustomQuestionCell : UITableViewCell <UIWebViewDelegate> {
IBOutlet UIWebView *mywebView;
IBOutlet UIActivityIndicatorView *mySpinner;
}
2。在您的CustomQuestionCell
实施(.m文件)中:
- (void) AssignWebView:(NSString *) _text {
[myWebView setDelegate:self];
[mywebView loadHTMLString:_text baseURL:nil];
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
[myWebView setHidden:YES];
[mySpinner startAnimating];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[mySpinner stopAnimating];
[myWebView setHidden:NO];
}
3。在CustomQuestionCellView
nib文件中插入微调器(UIActivityIndicatorView
)。将其作为mySpinner
插座连接到File's Owner
。选中Hides when stopped
复选框,取消选中Animating
一个。