Итак, я отвечаю на ваш вопрос
Из view1 есть функция, которая вызывает view2
{
view2* view2Controller =[[view2 alloc]initWithNibName:@"view2" bundle:nil];
[ view2Controller SessionMaintained];
//push view2 w/o animation
[self.navigationController pushViewController:view2Controller animated:NO];
//call some method (say showView3) in view2
[view2Controller showView3];
[view2Controller release];
}
, теперь в view 2 (метод showView3), вызывается view3
{
view3* view3Controller =[[view3 alloc]initWithNibName:@"view3" bundle:nil];
[ view3Controller SessionMaintained];
[self.navigationController pushViewController:view3Controller animated:YES];
}