3

我正在尝试在 iOS 中创建一个基于页面的应用程序,其中实际页面是非矩形图像(包含清晰的颜色)。但是,翻页时出现的阴影似乎并没有忽略图像的透明度(见下文)。

截图 http://img543.imageshack.us/img543/9730/pagecurl.png

有谁知道是否可以修改这种行为?

提前致谢。

4

2 回答 2

2

您是否尝试过设置UIPageViewController' viewsframe以使其位于自定义页面图像定义的边框内?(因此,在您的情况下,适合您的白页图像的最大矩形)

UIPageViewController处理具有超出其自身view的视图的页面卷曲动画的方式frame可以考虑如下:

认为悬垂是刚性的。它不像页面的其余部分那样弯曲,但它确实保持了UIPageViewController's边缘的角度frame。如果悬垂(即超出UIPageViewController's的图像或视图的一部分frame)很小,那么悬垂动画为刚性(而不是弯曲、灵活的页面)这一事实在视觉上可以忽略不计。

但是,如果没有任何进一步的修改,页面只会在' 的视图框架内开始触摸时翻转。UIPageViewController但是,如果它可以对白页图像上的任何地方的触摸做出反应会更好。如果您希望页面对另一个视图框架内的触摸做出反应(例如,持有您的白页图像的视图),请尝试以下操作:

otherView.gestureRecognizers = myPageViewController.gestureRecognizers;
于 2012-08-03T16:01:27.547 回答
0

问题是 iOS 框架会在您为页面指定的视图控制器的整个边界上放置阴影,因此任何透明区域都会看起来有阴影。您可以尝试屏蔽您的视图控制器(viewController.view.layer.maskviewController.view.layer.masksToBounds),看看是否有帮助。

希望 Apple 为未来的 iOS 版本改进这个框架。禁用该阴影肯定会很好,或者有办法自己做,但你去吧。

于 2013-04-18T18:14:12.597 回答