UIModalTransitionStylePartialCurl мерцает при увольнении - PullRequest
1 голос
/ 22 декабря 2010

У меня есть контроллер представления со следующим методом:

- (IBAction)pickLocation:(id)sender{
    SearchLocationPickerViewController *modalView = [[[SearchLocationPickerViewController alloc] init] autorelease];
    [modalView setModalTransitionStyle:UIModalTransitionStylePartialCurl];
    modalView.searchVC = self;
    [self presentModalViewController:modalView animated:YES];
}

Этот переход прекрасно выполняется и отображает контроллер модального представления, как и ожидалось. Однако, когда я отклоняю модальное представление, используя следующее (выполняется из контроллера модального представления):

- (IBAction)closeLocationPick:(id)sender{
    [self dismissModalViewControllerAnimated:YES];
}

Модальное представление изменяется, как и ожидалось, но в самом конце перехода изображение действительно быстро мигает ИНОГДА Он отображает модальное представление, которое отображалось в течение доли секунды. Это случается, может быть, каждые три из десяти случаев показа / скрытия модального вида.

Есть идеи, что может быть причиной этого?

1 Ответ

1 голос
/ 20 апреля 2011

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

Ваш IBAction должен вызывать метод делегата в родительском контроллере модального представления, который создал и представил модальное представлениеконтроллер изначально.Вы определяете протокол делегата в вашем контроллере модального представления и принимаете его в контроллере представления, который выполняет presentModalViewController: call.

Вот соответствующие документы Apple по отклонению представления модели.*

...