因此,我正在尝试实现向右滑动以返回上一个视图控制器功能。
但是当我在当前视图控制器中有以下代码时,我得到一个黑屏
- (void)initPreviousViewController:(GGMainViewController *)previous
{
self.previousViewController = previous;
self.previousViewController.view.frame = self.currentView.bounds; //self.currentView is declared elsewhere (in the init of the current view controller)
[self addChildViewController:self.previousViewController];
[self.currentView addSubview:self.previousViewController.view];
[self.previousViewController didMoveToParentViewController:self];
{
^我在初始化当前视图控制器之后,在推送当前视图控制器之前,在前一个视图控制器中调用这个方法
如果我改变self.previousViewController = previous;
它的self.previousViewController = [GGMainViewController alloc] init];
工作原理。但是,我不想重新初始化以前的控制器。
那么如何将前一个视图控制器设置为当前视图控制器的属性。
哦,我也是iOS初学者,所以如果这不是推荐的东西,请告诉我。
我的想法背后的理由:
通常,用户只需单击一个按钮,UINavigationController 就可以解决问题,但由于我使用的是滑动功能,我认为用户在滑动屏幕时需要看到当前视图控制器后面的前一个视图控制器。
根据要求我如何从 previousViewController 调用 currentViewController
- (void)displayCurrentViewController:(id)sender
{
GGNextViewController *next = [[GGNextViewController alloc] init];
[next initializeExploreViewController:self]; // If I comment this out, everything is ok (screen is not black,etc. apart from being able to swipe backwards
[self.navigationController pushViewController:next animated:YES];
}