gpt4 book ai didi

ios - UIPageViewController 方向只向前

转载 作者:可可西里 更新时间:2023-11-01 03:33:11 39 4
gpt4 key购买 nike

目标是创建一个只能向前导航的 UIPageViewController。我正在使用数据源为 UIPageViewController 提供内容。方向设置为UIPageViewControllerNavigationDirectionForward,过渡样式为UIPageViewControllerTransitionStyleScroll

执行

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
// returns the next view controller
}

返回下一个 View Controller ,而下面的应该确保向后导航是不可能的

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
return nil;
}

返回 nil 应该表明导航是不可能的(如文档中所述)。但是,我总是可以向后滚动一页。假设我有 10 页,我可以向前滚动浏览所有页面,但在任何页面我都可以向后滚动 1 页。 (例如:在第 5 页我可以返回到第 4 页,在第 8 页我可以返回到第 7 页,依此类推。)

我知道我可以通过不使用数据源并使用 setViewControllers:direction:animated:completion: 方法来避免这种情况,但我想了解为什么我的尝试失败了。 p>

最佳答案

这是当您的 pageViewController 将其过渡样式设置为滚动时您得到的行为——我不确定为什么,但它与将 ScrollView 插入层次结构中的某处有关(我可以看到如果我在打开 Instruments 的情况下运行我的项目,则分配)。如果过渡是页面 curl ,那么如果您在此处返回 nil,则不会显示任何之前的页面。

所以,我认为你坚持使用 setViewControllers:direction:animated:completion: 除非你想切换到 Page Curl 动画。

关于ios - UIPageViewController 方向只向前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14426728/

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