2013-07-26 47 views
0

我已经创建了加载主视图的程序,并且当用户在主视图中按下按钮时,该应用程序将加载第二个视图。如何滑动辅助视图以显示主视图

加载第二个视图后我想要做的事情是,当一个人将手指向右滑动时,第二个视图也会向右滑动并显示主视图。

附加信息:

我一直在用下面的代码尝试在我创建滑动效果,但只在主视图中工作。有没有一种可能的方式来创建相同的滑动效果,在应用程序启动时未初始化的辅助视图控制器中?

https://github.com/pkluz/PKRevealController

+0

在滑动改变偏移次要视图控制器的视图,以基于距离滑动距离。当达到某个阈值时,将视图控制器及其视图从UI堆栈中弹出。查看UISwipteGestureRecognizer。 – JeffRegan

回答

0

如果我理解正确的这个,你要能够访问滑出窗格中,在任何屏幕上,而不是仅仅是第一?

如果是这样,那么你必须设置一个导航控制器,并将新的视图控制器推到导航控制器上。然后在新的视图控制器中,您需要相应地添加和移除手势识别器。

例如划痕代码:

导航控制器

UINavigationController *nav = [[UINavigationController alloc] init]; 
MyViewController2 *VC = (MyViewController2 *)[[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"screen2"]; 
[nav pushViewController:VC animated:YES]; 

然后在第二视图控制器,

-(void)viewDidAppear:(BOOL)animated{ 
    [super viewDidAppear:YES]; 
    //add gesture recognizer here, as you did in the first vc 
} 

-(void)viewDidDisappear:(BOOL)animated{ 
    [super viewDidDisappear:YES]; 
    //remove gesture recognizer here 
} 
+0

有没有可能不使用故事板呢? – user2563039

+0

是的,只需点击你的第一个视图控制器,编辑器,嵌入,导航控制器。现在只需从第一个视图控制器拖动到第二个视图控制器,出现一个弹出窗口,然后选择push。但是,在第一个vc中添加手势识别器代码行的方式也将其添加到您的第二个vc中。 –