Степень экспортирикатор не работает так же на iPhone и симуляторе?
-
26-09-2019 - |
Вопрос
Я использую сетевой экземпляры, чтобы показать, что мое приложение делает некоторую работу. Когда я запускаю приложение в симуляторе, он показывает то, как я хочу - в основном вращаться в целом, пока вкладка «Выбранная вкладка не загрузит данные с сервера», но когда я положу приложение на мой телефон, я только получающуюся Спиннер до того, как он исчезнет. Обычно только спины прямо перед видом появляется на экране.
Идеи?
Редактировать: проблема, возможно, придется делать с тем, что я использую Tabbar ... В симуляторе активность спина будет вращаться на экране / вкладке 1, а на экране / вкладке 2 загружается. На телефоне я вижу только активное отношение только к разделению секунды после появления экрана 2.
-(void)viewDidLoad {
// call to spinTheSpinner
[NSThread detachNewThreadSelector:@selector(spinTheSpinner) toTarget:self withObject:nil];
// method to Get the Data from the Server
[self getDataFromServer];
}
-(void)spinTheSpinner {
NSLog(@"Spin The Spinner");
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[self performSelectorOnMainThread:@selector(doneSpinning) withObject:nil waitUntilDone:YES];
[pool release];
}
-(void)doneSpinning {
NSLog(@"done spinning");
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
-(void)getDataFromServer {
// does a bunch of stuff to retrieve and display data
}
Решение
Вы включаете спиннер здесь ...
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
Но сразу вы отключаете ...
[self performSelectorOnMainThread:@selector(doneSpinning) …];
Конечно, это не покажет. Я удивлен, это показывает в симуляторе.
То -doneSpinning
Метод должен быть вызван после -getDataFromServer
сделано или просто сделать
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = YES;
[self getDataFromServer]; // assumes it is blocking.
app.networkActivityIndicatorVisible = NO;