ページングを有効にして UIScrollView を使用しています。私のコードはPageControl exampleに基づいています。
UIScrollView 内のページは互いに近くにとどまります。ただし、ページ間にスペースを追加する必要があります (カメラ ロールで写真を閲覧する場合など)。ページ間に水平インデントを追加する方法はありますか?
ページングを有効にして UIScrollView を使用しています。私のコードはPageControl exampleに基づいています。
UIScrollView 内のページは互いに近くにとどまります。ただし、ページ間にスペースを追加する必要があります (カメラ ロールで写真を閲覧する場合など)。ページ間に水平インデントを追加する方法はありますか?
scrollView のフレームを広くして、画面の左右にギャップ/2 ピクセル分拡張する必要があります。
CGFloat gap = 20.0; //20 pixels spacing between pages
CGRect frame = self.view.frame;
frame.size.width += gap;
frame.origin.x -= gap/2;
scrollView.frame = frame;
次に、コンテンツビューコントローラーを通常のように中央に配置して画面を埋めるように追加するため、ギャップ/2インチだけ適切にオフセットするようにしてくださいloadScrollViewWithPage:
編集: iOS 6 のみをターゲットにしている場合は、代わりに UIPageViewControllerTransitionStyleScroll で UIPageViewController を使用し、UIPageViewControllerOptionInterPageSpacingKey オプションを使用できます。
PhoneContentController.mでメソッドloadScrollViewWithPage:(int)page
を見つけて、次の行を確認します。
frame.origin.x = frame.size.width * page;
scrollView 内のコンテンツ フレームの x 位置を、コンテンツの幅 * ページ数で設定しています。したがって、コンテンツ間にガターを追加したい場合は、次のようにすることができます。
int xOffset = 20;
frame.origin.x = (frame.size.width * page) + xOffset;