FlipView Transition - PullRequest
       12

FlipView Transition

0 голосов
/ 30 марта 2012

В настоящее время я разрабатываю приложение, которое извлекает данные карт из службы и отображает их в виде булавок в MKMapView.Кроме того, мое приложение было разработано с использованием раскадровок, где каждая сцена встроена в контроллер навигации.Функция, над которой я работаю, требует от меня возможности переключаться между видом карты и видом таблицы для заданного набора результатов.Чтобы обеспечить эту функциональность, я включил элемент панели кнопок в панель инструментов, которая (при нажатии) должна перевернуть текущее представление и второе представление.

До сих пор я пытался использовать следующий код, нобезрезультатно:

MapListViewController *map = [[MapListViewController alloc]init];
[UIView beginAnimations:@"flip animation" context:nil];
[UIView setAnimationDuration:3.0];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:map.view cache:YES];

[self.mapView removeFromSuperview];
[self.view addSubview:map.view];
[UIView commitAnimations];

Первоначально я получил этот подход от здесь , но, похоже, он не работает для меня.

Еще пара замечаний:

  • Переход с переворотом должен изменять только вид, отображаемый в настоящее время в верхней и нижней панелях навигации.

  • Представление нового представления модально не выполняетсяЭто не вариант, потому что я потеряю сайт моего контроллера навигации.

  • Контроллер представления / просмотра, отвечающий за отображение набора результатов в формате списка (т. е. UITableView), содержится в одномxib-файл, в котором остальная часть приложения находится внутри раскадровки.

Вопрос

Что не так с моей текущей реализацией?Как это должно быть изменено?

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Я не использовал ваш метод, но реализовал переключение некоторых представлений с помощью метода класса UIView. Это было очень легко и просто. Обратитесь к документации для других вариантов.

[UIView transitionFromView:self.firstVC.view toView:self.secondVC.view duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {
    // add any completion code here if needed.
}];
0 голосов
/ 30 марта 2012

Привет, реализация чего-то подобного должна помочь вам

Для Push используйте это ..

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [navigationController pushViewController:viewController animated:NO];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:navigationController.view cache:NO];
    [UIView commitAnimations];

Для Pop используйте это

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [navigationController popViewControllerAnimated:NO];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:navigationController.view cache:NO];
    [UIView commitAnimations];
0 голосов
/ 30 марта 2012
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...