繁体   English   中英

更改 UIPageViewController Swift5 的背景颜色 [重复]

[英]Changing back color of UIPageViewController Swift5 [duplicate]

有没有办法将图像上的颜色从白色变为蓝色? 页面卷曲图片

我可以将背景颜色设置为蓝色,但我不知道如何更改背面的颜色。 我也找不到任何文章。 如果你知道如何解决这个问题,请告诉我。

我的代码如下。

谢谢你。

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 {
    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM