ios - 改变 UIPageViewController Swift5 的背景颜色
问题描述
有没有办法将图像上的颜色从白色变为蓝色? 卷页图片
我可以将背景颜色设置为蓝色,但我不知道如何更改背面的颜色。我也找不到任何文章。如果你知道如何解决这个问题,请告诉我。
我的代码如下。
谢谢你。
import UIKit
class ViewController: UIViewController {
//MARK: - Properties
var pageViewController:UIPageViewController!
var viewControllersArray:Array<UIViewController> = []
//MARK: - Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
let texts = ["aaa", "bbb", "ccc"]
for text in texts {
configureViewController(withText: text)
}
configurePageViwControllers()
}
//MARK: - Helpers
func configureViewController(withText text: String) {
let viewController = UIViewController()
viewController.view.backgroundColor = .blue
let label: UILabel = {
let label = UILabel()
label.text = text
label.font = UIFont.boldSystemFont(ofSize: 20)
label.textColor = .white
return label
}()
viewController.view.addSubview(label)
label.anchor(top: viewController.view.safeAreaLayoutGuide.topAnchor, left: viewController.view.leftAnchor)
viewControllersArray.append(viewController)
}
func configurePageViwControllers() {
pageViewController = UIPageViewController(transitionStyle: .pageCurl,
navigationOrientation: .horizontal,
options: nil)
pageViewController.dataSource = self
pageViewController.delegate = self
pageViewController.setViewControllers([viewControllersArray[0]], direction: .forward, animated: true, completion: nil)
pageViewController.view.frame = self.view.frame
self.view.addSubview(pageViewController.view)
}
}
//MARK: - UIPageViewControllerDataSource
extension ViewController: UIPageViewControllerDataSource{
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
guard let index = viewControllersArray.firstIndex(of: viewController), index < (viewControllersArray.count - 1) else{return nil}
let after = index + 1
return viewControllersArray[after]
}
func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
guard let index = viewControllersArray.firstIndex(of: viewController), index > 0 else{return nil}
let before = index - 1
return viewControllersArray[before]
}
}
//MARK: - UIPageViewControllerDelegate
extension ViewController: UIPageViewControllerDelegate {
}
解决方案
推荐阅读
- r - 将oddsratio的结果添加到现有数据框
- laravel - 截取没有依赖关系的html截图
- ruby-on-rails - 如何在下一个控制器操作中重用相同的 watir 对象
- machine-learning - Sklearn 中的多数类是否被视为积极的?Sklearn 将误报率计算为误报率
- c# - 在自身对象类上创建多对多关系
- sql - 没有分组依据的 SQL 最大值
- owl - 描述逻辑中Rbox的规律性
- json - Postgres - 如何从 JSON 列中搜索和聚合
- c# - 检查列表中是否存在具有特定值的对象
- python - 使用 MirroredStrategy 时出现 AssertionError:isinstance(x, dataset_ops.DatasetV2)