在我的應用程序中,我使用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
的方法返回正確的數據,所以我現在想不出任何正確的數據(所以它似乎)。
感謝領先的彈跳,我會看到它。也將仔細檢查它沒有主線程以外的視圖操作。 –
不幸的是,到目前爲止還沒有運氣。 –