gpt4 book ai didi

iphone - 如何在 UIPageViewController 中设置第一页

转载 作者:可可西里 更新时间:2023-11-01 04:22:43 26 4
gpt4 key购买 nike

当用户位于 UIPageViewController 的第一页并尝试返回时,我只返回 nil。在 iOS 5 中这工作正常。它导致 iOS 6 崩溃。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'The number of view controllers provided (0) doesn't match the number required (1) for the requested transition'

这是我的代码。当返回 contentViewController 而不是 nil 时,它工作正常。我应该用什么代替 nil

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController 
viewControllerBeforeViewController:(UIViewController *)viewController {

contentViewController = [[ContentViewController_iPhone alloc] init];

int currentIndex = [self.modelArray indexOfObject:[(ContentViewController_iPhone *)viewController labelContents]];

if ((currentIndex == 0) || (currentIndex == NSNotFound)) {

//if on the first page, can't go back
return nil;

}

contentViewController.labelContents = [self.modelArray objectAtIndex:currentIndex - 1];

return contentViewController;

}

最佳答案

我有同样的问题,发现只有当我将 pageviewcontrollers gestureRecognizers 的代表更改为我自己的 Controller 时才会发生(如果您想在用户点击页面上的某些区域时取消分页,通常会这样做,例如按钮)。

对我来说,不对 iOS 6 进行这种重新分配是有效的。这很好,因为 iOS 处理触摸有点不同。页面上的按钮或您自己的手势识别器在 iOS 6 下可以正常工作,因为它们具有优先权并且会自动取消分页。

希望对您有所帮助。

关于iphone - 如何在 UIPageViewController 中设置第一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786641/

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