我需要创建一个类似书的应用程序,并希望使用UIPageViewController。 (iPad,水平布局有两页(UIPageViewControllerSpineLocationMid)。
为了让屏幕更具吸引力,我想让控制器的视图覆盖有图像或CAGradientLayer,使脊柱可见。
我尝试将一个子视图添加到pageViewController,但是当动画过渡开始时它似乎被删除了。
有人有想法吗?
答案 0 :(得分:1)
我通过将CAGradientLayer添加到UIPageViewController的当前显示的子控制器的视图来解决了这个问题。 我必须区分左右页面(对于双面横向模式)。 为了实现这一点,我创建了一个名为“rightPage”的bool属性并重载了setter:
- (void) setRightPage:(BOOL)rightPage
{
_rightPage = rightPage;
if (!self.spineShadow) {
self.spineShadow = [CAGradientLayer layer];
}
self.spineShadow.zPosition = 5000;
self.spineShadow.colors = [NSArray arrayWithObjects:
(id)[UIColor clearColor].CGColor,
(id)[[[UIColor blackColor] colorWithAlphaComponent:0.3] CGColor],
nil];
if (rightPage) {
self.spineShadow.startPoint = CGPointMake(1.00f,0.5f);
self.spineShadow.endPoint = CGPointMake(0.00f,0.5f);
} else {
self.spineShadow.startPoint = CGPointMake(0.00f,0.5f);
self.spineShadow.endPoint = CGPointMake(1.00f,0.5f);
}
}