2014-11-02 4 views
0

Извините, если мое название ужасно, я пытаюсь создать контроллер навигации, что поп, как по почте в ИО, как это:Как создать переход модуля, который подталкивает контроллер вида и сдвигает другой контроллер вида спереди?

enter image description here

+0

Не могли бы вы уточнить предыдущий толчок? Исправьте меня, если я ошибаюсь, но вы хотите сначала нажать VC, и после этого выпустить еще одну VC iOS-почту как-ish? –

+0

Точно @plasher – Joe

+1

Проверьте мой ответ ниже, нажатие просто прост, затем в нажатом vc создайте меньший и установите его как дочерний, простой. –

ответ

0

Простое решение (таким образом, он не может быть наиболее программно правильно, im not sure), может быть установлен как ViewController (тот, который появляется как почта, так и тот, который находится за ним) внутри родительского ViewController и управлять своими представлениями по своему усмотрению.

Что-то я сделал быстро:

enter image description here

Оба ViewController работают, конечно, вы можете отключить нижний и установить серый вид на как в изображении.

код:

Внутри нижней ViewController создать новый NavigationController с ViewController вы хотите нажать, а затем добавить его в качестве ребенка первого:

nav = [[UINavigationController alloc] initWithRootViewController:[VcWithNavViewController new]]; 
[nav.view setFrame:CGRectMake(self.view.bounds.origin.x, self.view.bounds.size.height, self.view.bounds.size.width, 500)]; 
[self addChildViewController:nav]; 
[self.view addSubview:nav.view]; 
[nav didMoveToParentViewController:self]; 

тогда просто анимировать мнение что ребенок в экран, когда настало время:

- (void) popViewController { 
[UIView animateWithDuration:2 delay:5 options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
    [nav.view setFrame:CGRectMake(0, 200, self.view.bounds.size.width, 500)]; 
} completion:nil]; 

}

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