我正在尝试在 iOS 中创建一个基于页面的应用程序,其中实际页面是非矩形图像(包含清晰的颜色)。但是,翻页时出现的阴影似乎并没有忽略图像的透明度(见下文)。
截图 http://img543.imageshack.us/img543/9730/pagecurl.png
有谁知道是否可以修改这种行为?
提前致谢。
我正在尝试在 iOS 中创建一个基于页面的应用程序,其中实际页面是非矩形图像(包含清晰的颜色)。但是,翻页时出现的阴影似乎并没有忽略图像的透明度(见下文)。
截图 http://img543.imageshack.us/img543/9730/pagecurl.png
有谁知道是否可以修改这种行为?
提前致谢。
您是否尝试过设置UIPageViewController
' view
sframe
以使其位于自定义页面图像定义的边框内?(因此,在您的情况下,适合您的白页图像的最大矩形)
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 版本改进这个框架。禁用该阴影肯定会很好,或者有办法自己做,但你去吧。