Индикатор активности сети должен быть всегда активен? - PullRequest
2 голосов
/ 16 декабря 2011

Я использую индикатор сетевой активности в проекте iphone. проблема в том, что даже когда в моем приложении нет отправки и получения, индикатор вращается и останавливается только при отключении сети.

Может кто-нибудь сказать, это из-за какой-то скрытой активности или поведения индикатора сетевой активности, как это !!! Есть ли у вас решение этой проблемы?

Мне нужно сообщить моему пользователю о сетевой активности ....

РЕДАКТИРОВАТЬ: проблема в том, что я не уверен в использовании индикатора активности сети, или, другими словами, я не знаю, когда активность сети вращается, означает ли это, что активность есть, или просто показывает, что соединение не установлено !

спасибо

Ответы [ 4 ]

4 голосов
/ 16 декабря 2011

Индикатор активности сети можно скрыть так:

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
1 голос
/ 19 декабря 2011

Я нашел ответ на эту проблему с этого сайта: http://iosdevelopertips.com/cocoa/showing-network-activity-when-there-isn%E2%80%99t-any.html

// запустить индикатор ... [UIApplication sharedApplication] .networkActivityIndicatorVisible = YES;

// Сделайте что-то, что может занять некоторое время ...

// остановить индикатор ... [UIApplication sharedApplication] .networkActivityIndicatorVisible = NO;

1 голос
/ 16 декабря 2011

Посмотрите, где вы настраиваете вращение активности и где выключаете ее. Похоже, у вас несбалансированные звонки.

Альтернативой ручному включению и выключению является использование вспомогательного класса, такого как DCTNetworkActivityIndicatorController , где вы увеличиваете и уменьшаете вызовы счетчика вместо того, чтобы просто включать и выключать его, и это очень более надежный способ показать активность.

0 голосов
/ 16 декабря 2011

Если вы используете UIWebView, вы реализовали

- (void)webViewDidFinishLoad:(UIWebView *)webView{
[(UIActivityIndicatorView *)[self navigationItem].rightBarButtonItem.customView stopAnimating];

}

и

- (void)webViewDidStartLoad:(UIWebView *)webView{
[(UIActivityIndicatorView *)[self navigationItem].rightBarButtonItem.customView startAnimating];
}

?

...