我需要创建一个类似书本的应用程序,并且想使用 UIPageViewController。 (iPad,两页水平布局(UIPageViewControllerSpineLocationMid)。
为了使屏幕更具吸引力,我希望 Controller 的 View 覆盖有图像或 CAGradientLayer,使书脊可见。
我尝试向 pageViewController 添加一个 subview ,但它似乎在动画过渡开始时被删除了。
有人知道吗?
最佳答案
我通过将 CAGradientLayer 添加到 UIPageViewController 当前显示的子 Controller 的 View 中解决了这个问题。 我必须区分左页和右页(对于双面横向模式)。 为此,我创建了一个名为“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);
}
}
关于objective-c - 带有渐变叠加的 UIPageViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12556894/