Как сделать так, чтобы UINavigationController использовал флип-анимацию при нажатии UIViewController - PullRequest
5 голосов
/ 19 июня 2011

Теперь у меня четыре UITableViewControllers.

  • A
  • B1, B2
  • C

Мне нужен следующий эффект:

  • Выберите элемент на A можно нажать на B1
  • Нажмите правыйBarButtonItem на B1 можно перевернуть в горизонтальное положение до B2
  • Нажмите RightBarButtonItem на B2 можно перевернуть в горизонтальное положение на B1
  • Выберите элементна B1 или B2 можно нажать на C
  • Может появиться на A на B1 или B2

Все представления (A, B1, B2 и C) должны иметь NavigationBar.

Теперь я могу перемещаться между A, B1, B2, C. Я также могу переключиться на B2, используя следующий код:

//self is B1
- (IBAction)b2ButtonPressed
{
    B2ViewController* B2 = [[B2ViewController alloc] init];
    B2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

    [self presentModalViewController:B2 animated:YES];
}

Но в B2 отсутствует навигационная панель.

Iесть приложение на моем iPod touch имеет такую ​​функцию.Как я могу сделать это сам?

Ответы [ 2 ]

5 голосов
/ 19 июня 2011

Если вы показываете контроллеры представления модальным представлением, а не нажатием или выдвижением контроллера навигации, вы должны обернуть контроллер навигации для контроллера представления, чтобы показать панель навигации:

- (IBAction)b2ButtonPressed
{
  B2ViewController* B2 = [[B2ViewController alloc] init];
  UINavigationController *B2Nav = [[UINavigationController alloc] initWithRootViewController:B2];   
  B2Nav.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
  [self presentModalViewController:B2Nav animated:YES];
  [B2 release];
  [B2Nav release];
}

И не забудьте настроить левый или правый элемент панели кнопок для панели навигации в вашем B2ViewController.

2 голосов
/ 19 июня 2011

Можете ли вы использовать UIView animations, чтобы перевернуть представление B1, а когда анимация закончится, добавить представление B2 в родительское представление?

Я думаю, это сохранит навигационную панель такой, какая она есть.

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