gpt4 book ai didi

ios - 从呈现的 View Controller 返回时保留 UICollectionView contentOffset

转载 作者:可可西里 更新时间:2023-11-01 06:14:59 24 4
gpt4 key购买 nike

我有一个包含 UICollectionView 的 UIViewController 子类。选择一个单元格会出现一个新的 View Controller 。当我返回到第一个 View Controller 时, Collection View 的 contentOffset 被重置为 CGPointZero。

根据我的研究,这似乎是标准行为。

我可以通过向我的 View Controller 子类添加私有(private)属性来重置 contentOffset,将 contentOffset 保存在 viewWillDissapear 方法中,并在 viewWillAppear 的 Collection View 中重置它方法。

不过我想知道,是否有另一种方法可以防止 ScrollView 内容偏移首先被重置(消除对额外属性的需求)?

我的目标是 iOS7。

第二个 View Controller 是这样呈现的:

[self presentViewController:secondVC animated:YES completion:nil];

然后像这样解散(在第二个 View Controller 中):

-(void) dismiss
{
[self dismissViewControllerAnimated:YES completion:nil];
}

编辑:经过进一步调查,重置 contentOffset 似乎不是默认行为。我还没有弄清楚为什么它会在我的应用程序中发生。正如上面的代码所示,我正在展示。

最佳答案

有两个选项。如果您的应用程序使用 UINavigationController,它应该保留最后访问的单元格,不确定您是如何使用的。如果没有,您始终可以创建一个通知,并在您返回上一个屏幕的那一刻,发送 UICollectionView 的更新或您拥有的任何内容并滚动到正确的位置。请记住,UIViewController 生命周期及其在更新用户界面之前的显示方式。

关于ios - 从呈现的 View Controller 返回时保留 UICollectionView contentOffset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24828745/

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