UIPageViewController に横向きと縦向きの両方で 2 つのページを表示させ、UIScrollerView 内に配置する場合は、まだこれについて考えています。横向きの場合、2 ページが表示され、ズームして期待どおりに動作します。縦向きの場合、UIPageViewController frame.width を 1 ページの 2 倍にし、UIScrollerView contentSize を UIPageViewController と同じ幅にしますが、UIScrollerView フレーム幅はページと同じ幅にします。これを行うと、ページのみが表示され、2 番目にスクロールできます。私は横向きでテストして正常に動作しましたが、縦向きではいくつか問題があり、ページを変更するスワイプは内側からは機能しませんが、これは外側から機能します (そのため、_zoomer.frame = CGRectMake(10,10,widht を設定します) ,height)、UIPageViewController の周りに 10 ポイントのフレームを配置して、そこからスワイプします),
画面の回転で使用するコードで、iPad 専用です。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
CGRect pageViewRect;
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
pageViewRect = CGRectMake(0,0,1496,984);
_zoomer.contentSize=CGSizeMake(1496, 984);
_zoomer.frame = CGRectMake(10,10,748,984);
self.pageViewController.view.frame = pageViewRect;
} else {
pageViewRect = CGRectMake(0,0,1004,728);
_zoomer.frame = CGRectMake(10,10,1004,728);
_zoomer.contentSize=CGSizeMake(1004, 728);
self.pageViewController.view.frame = pageViewRect;
}
}
_zoomer は UIScrollerView です