gpt4 book ai didi

ios - 改变 UIViewController

转载 作者:行者123 更新时间:2023-11-29 12:58:34 28 4
gpt4 key购买 nike

我的问题是:我的应用程序中有一个新闻列表(UITableView)当我点击 1 个"new"时,我打开它,里面有一个后退按钮,可以让我回到列表。现在的问题是我必须在滑动时实现"new"更改,所以我制作了手势识别器等..

问题是:我试过用

  [self presentViewController:previousNew animated:YES completion:Nil];

呈现以前的新的

但我认为这显然对您来说很明显,当我在 new 的新实例中单击后退按钮时,它会将我带回到旧的新实例,而不是带我回到画廊。

这是我在手势识别中的代码

  if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft)
{
NSLog(@"get gesture Left");
NSUserDefaults* defauts = [NSUserDefaults standardUserDefaults];
NSMutableArray* newsArray = [defauts objectForKey:@"NewsArray"];
if(_index +1 < [newsArray count])
{
NewsDetailsViewController* previousNew = [[NewsDetailsViewController alloc]initWithParameter:_index+1];
// [self.navigationController pushViewController:previousNew animated:YES];
//[self.navigationController presentModalViewController:previousNew animated:YES];
[self presentViewController:previousNew animated:YES completion:Nil];
}
else
return;
}

这是我的后退按钮代码

-(void)Back 
{
NSLog(@"atBack");
[self dismissModalViewControllerAnimated:YES];

请每一个帮助将不胜感激(这是我的第一个 iOS 应用程序,所以请不要生我的气,我缺乏经验)。注意我正在使用 ARC 而不是使用 interfaceBuilder

最佳答案

每次滑动时,您只是在旧的新 View 的顶部呈现了另一个 ViewController。这就是为什么当您单击“后退”按钮时,它会将您带回到旧的新列表而不是列表。

我可以建议的是,您可以使用具有三个页面的 ScrollView ,显示上一个新页面、当前新页面(您在列表中单击的新页面)和下一个新页面。当您滑动时,只需将三个 View 调整到正确的 View 即可。例如,您在 lsit 上单击了第 3 个新的,然后 ScrollView 将显示第 3 个新的(当然),第 2 个新的在左边,第 4 个新的在右边。然后你滑动到第二个新的(这是前一个),现在 ScrollView 显示第二个新的(当然),第一个新的在左边,第三个新的在右边。

关于ios - 改变 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365516/

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