Проблема, которую я не могу пройти через это, что UIActivityIndicatorView на мой взгляд, не запускается анимация, когда я исполняюUIActivityIndicatorView startAnimating не работает в searchBarSearchButtonClicked
[UIActivityIndicatorView startAnimating];
В
searchBarSearchButtonClicked
Это мой код:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
NSString *causeStr = nil;
if ([CLLocationManager locationServicesEnabled] == NO)
{
causeStr = @"device";
}
else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)
{
causeStr = @"app";
}
else
{
[_activityIndicatorView startAnimating];
_searchPlacesResults = [[NSMutableArray alloc] init];
NSString * searchQuery = [searchBar text];
FTGooglePlacesAPINearbySearchRequest *request = [[FTGooglePlacesAPINearbySearchRequest alloc] initWithLocationCoordinate:locationManager.location.coordinate];
request.rankBy = FTGooglePlacesAPIRequestParamRankByDistance;
request.keyword = searchQuery;
request.radius = 500;
[self startSearchingPlaces:request];
}
if (causeStr != nil)
{
NSString *alertMessage = [NSString stringWithFormat:@"You currently have location services disabled for this %@. Please refer to \"Settings\" app to turn on Location Services.", causeStr];
[[[UIAlertView alloc] initWithTitle:@"Location Services Disabled"
message:alertMessage
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
}
Ничего не происходит, пока я не удаляю результаты поиска с tableView подключен к UISearchBar с помощью кнопки отмены.
Я попытался и проверить, что
[UIActivityIndicatorView startAnimating];
на самом деле работает, когда вызывается из других методов.
EDIT: Я также проверил, что мой UIActivityIndicatorView не равно нулю, на самом деле это то, что я получаю, когда я NSLog его:
<UIActivityIndicatorView: 0x16e91ed0; frame = (150 274; 20 20); hidden = YES; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x16e91f90>>
Вы проверили блок еще, которые содержат код [UIActivityIndicatorView startAnimating]; выполняет? ваш NSLog показывает, что UIActivityIndicatorView скрыт (hidden = YES) ;? – russell
Да, я просто проверил его и блок else выполнил. – rambodrahmani
Показывает HIDDEN из-за _activityIndicatorView.hidesWhenStopped = YES; – rambodrahmani