UIActivityIndicator в пользовательском UITableViewCell - PullRequest
1 голос
/ 08 июля 2011

У меня есть пользовательский UITableViewCell, такой как:

// Custom.h
@interface CustomQuestionCell : UITableViewCell {

    IBOutlet UIWebView *mywebView;

}

-(void) AssignWebView:(NSString *) _text;

// Custom.m
-(void) AssignWebView:(NSString *) _text {


    [mywebView loadHTMLString:_text baseURL:nil];

}

Я могу успешно использовать UITableViewCell в UITableView в файле с именем MainViewController.Делегатом 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 загружает данные.

Как мне это сделать?

1 Ответ

1 голос
/ 08 июля 2011

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 один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...