dengzemiao / DZMeBookRead

支持项目使用!最完整小说阅读器Demo!仿iReader(掌阅),QQ阅读 ... 常用阅读器阅读页面,支持 翻页效果(仿真,覆盖,平移,滚动,无效果)、字体切换、书签功能、阅读记录、亮度调整、背景颜色切换 ...
MIT License
1.23k stars 325 forks source link

翻页的背面颜色怎么设置 #23

Closed chengongwen closed 6 years ago

chengongwen commented 6 years ago

采用系统的翻页模式,如果修改当前的主题颜色,怎么修改翻页的背面呢

dengzemiao commented 6 years ago

` // MARK: -- UIPageViewControllerDataSource

/// 用于区分正反面的值(固定)
private var TempNumber:NSInteger = 1

/// 获取上一页
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {

    TempNumber -= 1

    if abs(TempNumber) % 2 == 0 { // 背面

        let vc = UIViewController()

        vc.view.backgroundColor =  DZMReadConfigure.shared().readColor().withAlphaComponent(0.95)

        return vc

    }else{ // 内容

        return readOperation.GetAboveReadViewController()
    }
}

/// 获取下一页
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {

    TempNumber += 1

    if abs(TempNumber) % 2 == 0 { // 背面

        let vc = UIViewController()

        vc.view.backgroundColor =  DZMReadConfigure.shared().readColor().withAlphaComponent(0.95)

        return vc

    }else{ // 内容

        return readOperation.GetBelowReadViewController()
    }
}`
dengzemiao commented 6 years ago

@chengongwen 目前翻页背景颜色是跟你设置的当前阅读背景颜色保持一致

chengongwen commented 6 years ago

@dengzemiao 这样设置之后,背面就无法显示正面的文字背影了,这样怎么解决呢

dengzemiao commented 6 years ago

设置颜色 透明度 或者 背面View 的透明度

dengzemiao commented 6 years ago

@chengongwen

dengzemiao commented 6 years ago

不透明当然看不到了

chengongwen commented 6 years ago

img_0058 img_0059

设置这个方法: vc.view.backgroundColor = DZMReadConfigure.shared().readColor().withAlphaComponent(0.95)

怎么设置成图2的效果,可以看到反面的字

@dengzemiao @dengzemiao @dengzemiao

dengzemiao commented 6 years ago

图一不就可以看到反面的字了么 这个只是颜色不同而已了吧

dengzemiao commented 6 years ago

哦哦 我看到区别的 我先看看啊

dengzemiao commented 6 years ago

那你需要自己绘制一份了 就是把正面的文字 绘制到反面 并且文字是反的

dengzemiao commented 6 years ago

简单的解决方法 就是 把当前控制器 使用截图方式 弄出图片 在放到反面去反过来展示 这样就能达到你这种效果 但是文字颜色需要调整下 。 额这个是我临时想的方法 我看看还有别的方法没有

dengzemiao commented 6 years ago

@chengongwen 找到方案了。 使用正面View的layer 进行反射到另外一个视图上面 就可以了。

chengongwen commented 6 years ago

怎么实现,会不会卡

dengzemiao commented 6 years ago

我下午有事 这个东西你可以先放着 我明天给你答案 上面的方案是我自己想的。 我还得实践下。

chengongwen commented 6 years ago

行,你做好了更新项目就好了,谢谢

dengzemiao commented 6 years ago

@chengongwen 尴尬 进过测试 这个是PageViewController 默认自带效果 你可以去除我设置的背面设置就可以得到这样的效果了

chengongwen commented 6 years ago

除去背面设置的话,pageview背面这样始终为白色,如果切换颜色主题的话,翻页的时候背面太刺眼了,效果不太好

dengzemiao commented 6 years ago

@chengongwen 已经解决 准备更新代码 Gif效果: untitled

dengzemiao commented 6 years ago

@chengongwen 已经更新好了 你在下载一份就是这样效果的了

chengongwen commented 6 years ago

好的 ,非常感谢

dengzemiao commented 6 years ago

@chengongwen 你在重新下载下 我这边发现了点背面展示问题 调整了下 简单点 而且还不会出问题