setNetworkActivityIndicatorVisible 微调器不显示
Posted
技术标签:
【中文标题】setNetworkActivityIndicatorVisible 微调器不显示【英文标题】:setNetworkActivityIndicatorVisible spinner not displaying 【发布时间】:2011-06-05 21:31:48 【问题描述】:正如标题所说,这里有一些代码:
- (void)refreshMap
NSLog(@"refreshing");
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
lat = [[NSNumber numberWithDouble:myUserLocation.coordinate.latitude] stringValue];
lon = [[NSNumber numberWithDouble:myUserLocation.coordinate.longitude] stringValue];
NSString *url = [[NSString alloc] initWithFormat:@"http://mywebsite.com/geo_search.json?lat=%@&lon=%@", lat, lon];
NSURLRequest *theRequest=[NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
[url release];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
网络活动指示器(在状态栏中)根本不出现(不在模拟器中,也不在真实设备上)。 我该如何解决?
【问题讨论】:
【参考方案1】:除非您的代码将控制权返回给运行循环,否则 UI 不会更新。因此,如果您以相同的方法启用和禁用网络指示器,它将永远不会真正显示。解决方法是调用
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
在您的 url 连接委托方法中(conectionDidFinishLoading:
和 connection:didFailWithError:
)。
【讨论】:
你也没有启动NSURLConnection
。事实上,您甚至都没有将其保存为变量。
@Aleksader:连接自动以-initWithRequest:delegate:
开始。以上是关于setNetworkActivityIndicatorVisible 微调器不显示的主要内容,如果未能解决你的问题,请参考以下文章