実際のページが非長方形の画像 (クリアカラーを含む) である iOS でページベースのアプリケーションを作成しようとしています。ただし、ページをめくったときに現れる影は、画像の透明度を無視していないようです (以下を参照)。
スクリーンショット http://img543.imageshack.us/img543/9730/pagecurl.png
この動作を変更できるかどうかは誰にもわかりませんか?
前もって感謝します。
実際のページが非長方形の画像 (クリアカラーを含む) である iOS でページベースのアプリケーションを作成しようとしています。ただし、ページをめくったときに現れる影は、画像の透明度を無視していないようです (以下を参照)。
スクリーンショット http://img543.imageshack.us/img543/9730/pagecurl.png
この動作を変更できるかどうかは誰にもわかりませんか?
前もって感謝します。
カスタムページの画像で定義された境界線UIPageViewController
のすぐ内側に収まるように設定してみましたか?(つまり、あなたの場合、白いページの画像の内側に収まる最大の長方形)view
frame
UIPageViewController
独自view
のビューを超えて拡張するビューを持つページカールアニメーションを処理する方法は、frame
次のように考えることができます。
張り出しは剛性があると考えてください。ページの他の部分のように曲がることはありませんが、UIPageViewController
'sの端の角度を維持しframe
ます。UIPageViewController
オーバーハング(つまり、 'sを超えて広がる画像またはビューの部分frame
)が小さい場合、オーバーハングが(曲がりくねった柔軟なページではなく)剛体としてアニメーション化されるという事実は視覚的に無視できます。
ただし、それ以上の変更を加えないと、ページは、ビューUIPageViewController
のフレーム内でタッチが開始されたときにのみめくります。しかし、それがあなたの白いページ画像のどこかのタッチに反応することができればもっと良いでしょう。別のビューのフレーム内のタッチ(たとえば、白いページの画像を保持しているビュー)にページを反応させたい場合は、次のことを試してください。
otherView.gestureRecognizers = myPageViewController.gestureRecognizers;
問題は、iOS フレームワークが、ページに指定したビュー コントローラーの境界全体に影を付けるため、透明な領域が影で表示されることです。viewController.view.layer.mask
ビュー コントローラー (および) をマスクしてみてviewController.view.layer.masksToBounds
、それが役立つかどうかを確認できます。
Apple が将来の iOS リリースに向けてこのフレームワークを改善することを願っています。その影を無効にするか、自分でそれを行う方法があるのは確かに良いことですが、そこまでです。