Отображение карты ТОЛЬКО при нажатии кнопки в Xcode - PullRequest
0 голосов
/ 01 июня 2010

Я разрабатываю приложение для iPhone с использованием XCode, и я вроде как застрял с функциональностью, описанной в теме этого поста.

Я хочу, чтобы карта (используя MapKit) загружалась и отображалась только после нажатия кнопки. Итак, какой код я должен иметь под этой моей функцией "(IBAction) showMap"?

Все, что я мог найти в Интернете, говорит о том, чтобы скрыть карту. Я хочу загружать карту только при нажатии кнопки, а не загружать карту в фоновом режиме и просто показывать ее нажатием кнопки. Спасибо!

~ Susanth

Ответы [ 2 ]

0 голосов
/ 01 июня 2010

используйте следующую концепцию.

-(IBAction) showMap:(id)sender
{
     // Add your Map to current view
     [self.view addsubview:YOUR_MAPVIEW];
}

-(IBAction) hideMap:(id)sender
{
    [YOURMAPVIEW removeFromSuperView];
}

Здесь вы можете создать MapView либо из файла XIB, либо написав код.

Надеюсь, это поможет.

Джим.

0 голосов
/ 01 июня 2010

Ваше нажатие кнопки должно открыть новый вид, который содержит карту. Поскольку это представление не существует до тех пор, пока оно не загружено (viewDidLoad, viewWillAppear), вы не загружаете карту и не отображаете ее заранее.

- (IBAction)showMap:(id)sender
{
    self.mapController = [[MyMapViewController alloc]
        initWithNibName:@"MyMapViewController" bundle:nil];
    [self.mainView addSubview:mapController.view];
}

Множество способов сделать это ... Загрузка карты требует времени, поэтому вы все равно можете загрузить ее на заднем плане. Выглядит лучше (быстрее) для конечного пользователя.

...