Closed chengongwen closed 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()
}
}`
@chengongwen 目前翻页背景颜色是跟你设置的当前阅读背景颜色保持一致
@dengzemiao 这样设置之后,背面就无法显示正面的文字背影了,这样怎么解决呢
设置颜色 透明度 或者 背面View 的透明度
@chengongwen
不透明当然看不到了
设置这个方法: vc.view.backgroundColor = DZMReadConfigure.shared().readColor().withAlphaComponent(0.95)
怎么设置成图2的效果,可以看到反面的字
@dengzemiao @dengzemiao @dengzemiao
图一不就可以看到反面的字了么 这个只是颜色不同而已了吧
哦哦 我看到区别的 我先看看啊
那你需要自己绘制一份了 就是把正面的文字 绘制到反面 并且文字是反的
简单的解决方法 就是 把当前控制器 使用截图方式 弄出图片 在放到反面去反过来展示 这样就能达到你这种效果 但是文字颜色需要调整下 。 额这个是我临时想的方法 我看看还有别的方法没有
@chengongwen 找到方案了。 使用正面View的layer 进行反射到另外一个视图上面 就可以了。
怎么实现,会不会卡
我下午有事 这个东西你可以先放着 我明天给你答案 上面的方案是我自己想的。 我还得实践下。
行,你做好了更新项目就好了,谢谢
@chengongwen 尴尬 进过测试 这个是PageViewController 默认自带效果 你可以去除我设置的背面设置就可以得到这样的效果了
除去背面设置的话,pageview背面这样始终为白色,如果切换颜色主题的话,翻页的时候背面太刺眼了,效果不太好
@chengongwen 已经解决 准备更新代码 Gif效果:
@chengongwen 已经更新好了 你在下载一份就是这样效果的了
好的 ,非常感谢
@chengongwen 你在重新下载下 我这边发现了点背面展示问题 调整了下 简单点 而且还不会出问题
采用系统的翻页模式,如果修改当前的主题颜色,怎么修改翻页的背面呢