objective-c - 带有渐变叠加的 UIPageViewController?

标签 objective-c ios uipageviewcontroller cagradientlayer

我需要创建一个类似书本的应用程序,并且想使用 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/

相关文章:

objective-c - Phonegap-ipad app - 根据方向调整启动图像

ios - 包含 Pod 的桥接头以构建项目目标的设置?

ios - 在嵌套在 PageViewController 中的 viewController 上设置 becomeFirstResponder

objective-c - 如何阻止 UIPanGestureRecognizer 识别点击

ios - 在第一张图片之外的其他地方启动 ScrollView

objective-c - NSBox 背景图片

ios - UIViewController - 在哪里放置实例变量的初始化(使用 Storyboard)

ios - UIPageViewController 在我的 UIImage 的底部创建一个边框以及如何摆脱它

ios - 如何使用 UIPageViewController

iphone - NSOperation 和 SetImage