gpt4 book ai didi

iphone - 将上一个 View Controller 设置为当前 View Controller 的属性

转载 作者:行者123 更新时间:2023-11-29 04:01:47 25 4
gpt4 key购买 nike

因此,我正在尝试实现向右滑动以返回到上一个 View Controller 功能。

但是当我当前的 View Controller 中有以下代码时,我会得到黑屏

- (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];
{

^我在初始化当前 View Controller 之后、推送当前 View Controller 之前在前一个 View Controller 中调用此方法

如果我改变 self.previousViewController = previous; self.previousViewController = [GGMainViewController alloc] init]; 它有效。但是,我不想重新初始化以前的 Controller 。

那么如何将前一个 View Controller 设置为当前 View Controller 的属性。

哦,我也是第一次接触 iOS,所以如果这不是推荐的,请告诉我。

我的想法背后的理由:

通常用户只需单击一个按钮,UINavigationController 就可以解决问题,但由于我使用的是滑动功能,我认为用户在滑动屏幕时需要看到当前 View Controller 后面的上一个 View Controller .


按要求如何从 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];
}

最佳答案

您使用self.navigationController来推送当前 View Controller ,因此您可以在触发右侧滑动手势时调用一个方法。

在当前 View Controller 中尝试此代码(GGNextViewController.m)...

<强>1。将 rightSwipeGestureAction() 选择器添加到您拥有的手势识别器中。

2.

-(void)rightSwipeGestureAction
{
[self.navigationController popViewControllerAnimated:YES];
}

关于iphone - 将上一个 View Controller 设置为当前 View Controller 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15756414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com