Загрузка представления пытается удалить предыдущий вид из стека - PullRequest
0 голосов
/ 19 июля 2011

Почесывая голову на этом:

У меня есть viewController с представлением «loading ...», которое вызывается, когда я загружаю другой viewController с представлением MapKit, которое ищет местоположение.

В этом представлении «Загрузка ...» есть кнопка отмены, которая при нажатии переключает представление в начальный viewController.Происходит следующее: когда я переключаюсь в начальный вид, вид карты все еще в стеке и обновляется в фоновом режиме.Я попытался [locationmanager stopupdatinglocation] и не могу остановить его обновление.Все, что мне нужно, это полностью удалить вид карты из стека,

Кто-нибудь может помочь?

Спасибо

Это код кнопки возврата из представления загрузки ...:

-(void)back{
[UIApplication sharedApplication].networkActivityIndicatorVisible=NO;

Car_Park_AppViewController *appView = [[Car_Park_AppViewController alloc]initWithNibName:@"Car_Park_AppViewController" bundle:nil];
appView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:appView animated:YES];

[appView release];

}

код карты

- (void)viewDidLoad
{
[super viewDidLoad];

mapView.mapType = MKMapTypeSatellite;
mapView.showsUserLocation=TRUE;

loading *loadingView = [[loading alloc] init];

[super.view addSubview:loadingView.view];

locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate=self;
    locationManager.distanceFilter = kCLDistanceFilterNone;           locationManager.desiredAccuracy = kCLLocationAccuracyBest; 
    [locationManager startUpdatingLocation];

    CLLocationCoordinate2D location;
    location.latitude = mapView.userLocation.location.coordinate.latitude;
    location.longitude = mapView.userLocation.location.coordinate.longitude; 
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
MyManager *mng = [MyManager sharedManager];
mng.startLocation = newLocation;

MKCoordinateSpan span;
span.latitudeDelta=.00001;
span.longitudeDelta=.00001;

MKCoordinateRegion region;
region.center = newLocation.coordinate;
region.span=span;

[mapView setRegion:region animated:TRUE]; 

i++;

NSTimeInterval locationAge = -[mng.endLocation.timestamp timeIntervalSinceNow];
NSLog(@"Accuracy %f",newLocation.horizontalAccuracy);

if ((locationAge < 5.0) && (newLocation.horizontalAccuracy < 30.1)){    
     [self recLocation];
     i=0;

 }
haveAlreadyReceivedCoordinates = YES;
}

Ответы [ 2 ]

0 голосов
/ 19 июля 2011

Есть флаг для этого. После отмены установите этот флаг на NO. И не перезагружать представление, если флаг НЕТ.

0 голосов
/ 19 июля 2011

Попробуйте использовать UINavigationController: http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html

http://www.iosdevnotes.com/2011/03/uinavigationcontroller-tutorial/

Тогда у вас будет стек представлений, куда вы можете выдвигать и вставлять представления, как вы и хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...