UIPageViewControllerのメモ

20120306-180336.jpg

// 生成時
UIPageViewContoroller *pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];

initWithTransitionStyle:
UIPageViewControllerTransitionStylePageCurl
=ペラっとページめくりするエフェクトです。現状はこれしか指定できません。次バージョンで増えるかも

navigationOrientation:
UIPageViewControllerNavigationOrientationHorizontal
=見開きの段組みが横になり、めくりが横めくりになります。
UIPageViewControllerNavigationOrientationVertical
=見開きの段組みが縦になり、めくりが縦めくりになります。(日替わりカレンダーみたいなめくり)

// デバイスの向きが変わった時に呼ばれるメソッド
– (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation
このメソッドで縦向き横向きの際のレイアウトを指定します。
このメソッドの中でUIPageViewControllerのsetViewControllersメソッドに表示させたいViewを突っ込みます。
で、戻り値でレイアウトを指定します。

戻り値
UIPageViewControllerSpineLocationMid
=中開になります。本の見開きの状態です。setViewControllersには2つのViewを入れておきましょう。
UIPageViewControllerSpineLocationMin
=View表示は1枚で、右開きになります。
UIPageViewControllerSpineLocationMax
=View表示は1枚で、左開きになります。

あと、プロパティを一つ紹介
.doubleSided
ページめくり時の表示の仕方です。
YESで両面印刷みたいに裏表表示になります。
NOで片面印刷みたいに表のみ(裏は薄く表が映る)。
片面表示(UIPageViewControllerSpineLocationMid以外)の時にこれをYESにしとくとページ送り時に2ページ送ってしまう事になるので意味がないです。
両面表示(UIPageViewControllerSpineLocationMid)の時にこれをNOにしとくとエラーになるようです。
つまり実質的にUIPageViewControllerSpineLocationMidを返す時はYESに、それ以外を返すときはNOにしとく必要があるようです。
上記のpageViewControllerメソッドの中で指定しましょう。

 

mom-softのブログより

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中


%d人のブロガーが「いいね」をつけました。