基本上,我显示了一个 UIActivityIndicatorView,它是一个属性并且是合成的,并且在它自己的开始动画方法中。我初始化此指标并将其添加为子视图,如下所示
-(void)startLoader{
//regionChange is the ivar for UIActivitiyIndicatorView
self.regionChange = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
self.regionChange.frame = CGRectMake(145.0f, 180.0f, 40.0f, 40.0f);
[self.view addSubview:self.regionChange];
[self.regionChange startAnimating];
}
并在使用地图套件调用以下方法时启动动画。
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated{
//This calls the activity start method
[self startLoader];
}
指示器正确显示并开始动画。当地图区域发生变化时,它会向服务器发出 post 请求,并在使用 NSXMLParser 解析的响应中接收 XML。当解析停止时,它会更新地图,这是我为指标调用 stop 方法的时候,但它永远不会触发停止它。这是我的停止方法中的内容。
-(void)stopLoader{
[self.regionChange stopAnimating];
[self.regionChange removeFromSuperView];
NSlog (@"IS THIS EVER CALLED");
}
我也尝试过 hidesWhenStopped 但是从来没有调用过这个和上面的?