2016-08-19 37 views
1

在我的應用程序中,我使用UIPageViewController(PVC)UIPageViewControllerTransitionStylePageCurl轉換樣式和UIPageViewControllerSpineLocationMid旋轉位置。所以PVC一次顯示兩頁。UIPageViewController在滾動過去的最後幾頁時崩潰

我嘗試滾動瀏覽最後一頁時遇到罕見的崩潰。日誌說:

終止應用程序由於未捕獲的異常 「NSInvalidArgumentException」的,原因是:「視圖控制器的數量 提供(0)不匹配所需要的數目(2)爲所請求的 過渡」 。

我以爲我做錯了什麼,試圖玩蘋果演示項目(https://developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/Introduction/Intro.html)。

而且發生了撞車事故。很難重現,你應該滾動幾乎垂直於正常的滾動軸(垂直)。 我的猜測是dataSource的方法以錯誤的順序被調用並且PVC的完整性被破壞。 我電話的這個命令:

2016-08-19 15:03:52.905 ZoomingPDFViewer[7469:1878917] next controller: nil 
2016-08-19 15:03:53.358 ZoomingPDFViewer[7469:1878917] prev controller: <DataViewController: 0x14dd5b990> 
2016-08-19 15:03:53.358 ZoomingPDFViewer[7469:1878917] prev controller: <DataViewController: 0x14dd42a50> 
2016-08-19 15:03:53.373 ZoomingPDFViewer[7469:1878917] next controller: nil 

如此看來PVC樣的希望和滾動來回在同一時間。

我的問題是有什麼辦法解決這個問題?因爲dataSource的方法返回正確的數據,所以我現在想不出任何正確的數據(所以它似乎)。

回答

0

整個「一次滾動兩個方向」的事情可能是因爲反彈效應。你是否在對非主線程的視圖進行任何操縱?

如果你做任何事情,即使它遠遠不平凡,UIPageViewController也是一種怪胎(和我在這裏一樣)。你可能會在Disable bounce effect in UIPageViewController中看到我的答案,看看你是否在做其他問題的答案。

除此之外,我會建議提交一個錯誤。越多的人對UIPageViewController提出錯誤報告,蘋果公司就越有可能修復它。

+0

感謝領先的彈跳,我會看到它。也將仔細檢查它沒有主線程以外的視圖操作。 –

+0

不幸的是,到目前爲止還沒有運氣。 –