0

В типичном представлении viewcontroller перемещаются оба вида, исчезают и появляются представления, но теперь я хочу создать пользовательскую анимацию, в которой вы бросаете событие, чтобы изменить вид, вид, который исчезнет, ​​просто скрыть без перехода и анимации, и представление будет продолжено с тем же самым переходом. , тогда проблема в том, что у меня есть панель навигации, и я не знаю, как я могу создать настраиваемый переход на панель навигации ?, Можете ли вы помочь мне узнать, как изменить или удалить переход контроллера навигации.change transition of navigationcontroller ios

Я пробовал, но он только добавляет другой переход и не удаляет базовый переход.

Для Пуш:

MainView *nextView = [[MainView alloc] init]; 
[UIView animateWithDuration:0.75 
       animations:^{ 
           [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
           [self.navigationController pushViewController:nextView animated:NO]; 
           [UIView  setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; 
          }]; 

Поп:

[UIView animateWithDuration:0.75 
       animations:^{ 
           [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
           [UIView setAnimationTransition:transition forView:self.navigationController.view cache:NO]; 
          }]; 
[self.navigationController popViewControllerAnimated:NO]; 

любые идеи? спасибо: D

ответ

0

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

MainView *nextView = [[MainView alloc] init]; 
//setup frame 
nextView.view.frame = xxx; 
[self.view addSubview:nextView.view]; 

Удалить с помощью [nexView.view removeFromSuperView];

ИЛИ

Просто добавьте некоторое представление выше текущего вида с невыполнением скрытой и множеством скрытой NO на какое-то действие или вызвать метод bringSubviewFront, если вы хотите сохранить вид снизу и принести перед каким-то действием.

+0

спасибо за ваш комментарий, где я могу его поместить, в каждом представлении? или в виде навигационного контроллера? и когда вы скажете nextView.view.frame = xxx; xxx являются CGRect()? – user2720097

+0

Если вы хотите показать «nextView» в текущем виде, то тогда да на вид. Но если он будет использоваться в другом месте, также используйте навигационные контроллеры. И скрыть панель заголовка навигации. Да xxx CGRect() –

Смежные вопросы