これは ios6 で発生し始めたばかりですが、ページ ビュー コントローラー テンプレートを使用して新しいプロジェクトを開始した場合に発生します。次に
PCRootViewControlle::viewDidLoad()
メソッドの一番下に行を追加します。
for (UIGestureRecognizer *gR in self.pageViewController.gestureRecognizers)
{
gR.delegate = self;
}
UIGestureRecognizerDelegate に準拠し、メソッドを実装するように、viewController を割り当てる必要があります。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch (UITouch *)touch
{
return YES;
}
ここで、アプリを実行して境界を越えてページをめくろうとすると、つまり 1 月に移動して元に戻そうとすると、
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
nil を返します。
その後、アプリがクラッシュします。
これは、ios5 では発生しませんでした。pageViewController で常にタッチ イベントを処理する必要があるとは限らないため、gestureRecognizer デリゲートを viewController に割り当てる必要があります。
他の誰かがこれを経験したり、私が何か間違ったことをしていると指摘したりしましたか?
どうもありがとうスチュワート。