13,000 個のセルからテキストを検索するアプリがあります。細胞が多いことが分かります。古い iPhone では検索に数秒かかるため、アプリがまだ動作していることをユーザーに示すインジケーター ビューを提供したいと考えました。UISearchBar 虫めがねを UIActivityIndicatorView に変更するというアイデアを思いつきました。コードはシミュレーターで動作しますが、古い iPod touch でテストするとスピナーが表示されません。実際には表示されますが、検索が完了した後でのみ表示されます。理由について何か考えはありますか?これがコードです。
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
UIActivityIndicatorView *spin = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
CGRect spinnerFrame = CGRectMake(12.0, 12.0, 20.0, 20.0);
spin.frame = spinnerFrame;
spin.clipsToBounds = YES;
spin.backgroundColor = [UIColor whiteColor];
[searchBar addSubview:spin];
[spin startAnimating];
[self performSelectorOnMainThread:@selector(filterContentForSearchText:) withObject:searchBar.text waitUntilDone:YES];
[spin stopAnimating];
[spin removeFromSuperview];
//[self filterContentForSearchText:searchBar.text];
[self.searchDisplayController.searchContentsController.navigationController setNavigationBarHidden:NO animated:YES];
[self.searchDisplayController.searchResultsTableView reloadData];
}