菜鸟教程小白 发表于 2022-12-12 20:48:34

ios - UIPageViewController 上的奇数页数


                                            <p><p>我已经在我的 iPad 应用程序中实现了 UIPageViewController。但是,当 iPad 处于纵向时,您可以看到所有页面,但是当 iPad 处于横向时,您看不到最后一页,如果您在纵向的最后一页并更改为横向,则应用程序会崩溃以下错误:</p>

<blockquote>
<p>Terminating app due to uncaught exception ‘NSInternalInconsistencyException’, reason: ‘The &gt;number of provided view controllers (1) doesn’t match the number required (2) for the &gt;requested spine location (UIPageViewControllerSpineLocationMid)’</p>
</blockquote>

<p>因为它需要两页,而只有一页。</p>

<p>当“书”的页数为奇数(例如 7 页)时,我该怎么做才能避免前面的异常?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我修的方法是这样的。</p>

<pre><code>- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
    DSBookletPageViewController *currentVC = (DSBookletPageViewController *)viewController;
    NSUInteger currentIndex = ;

    if(currentIndex &gt;= self.modelArray.count-1) {
      if (currentIndex %2 == 0 &amp;&amp; !isPortrait) {
            //return an empty one
            DSBookletPageViewController *newVC = [ init];

            ;

            return newVC;
      } else {
            return nil;
      }
    }

    currentIndex ++;

    UIImage *currentPage = ;
    DSBookletPageViewController *newVC = [ initWithImage:currentPage andOrientation:isPortrait];
    ;

    return newVC;
}
</code></pre>

<p>我基本上检查我是否在数组的末尾,或者超出它,因为我正在向我的模型数组之外的 UIPageViewController 添加另一个页面。如果我在那里,并且当前索引是偶数并且我们不是纵向的,那么我添加页面,如果不是,那么我返回 nil。</p>

<p>希望对你有帮助。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIPageViewController 上的奇数页数,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/10582934/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/10582934/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIPageViewController 上的奇数页数