Resize a page size in uipageviewcontroller

23 Views Asked by At

I have a class of uipageviewcontroller for camera view from main camera view to sub filter camera view , i have a problem of when i open sub camera view the pages will occupies a capture button so i need to resize a page camera view.

import UIKit
import AVFoundation

class filterViewController: UIPageViewController {
    
    var pages: [cameraViewController] = []
  //  var cameraViewController: CameraViewSetup = cameraViewController

    
    override func viewDidLoad() {
        super.viewDidLoad()

        dataSource = self
   
        
        let firstCameraViewController = cameraViewController()
        let secondCameraViewController = cameraViewController()
        let thirdCameraViewController = cameraViewController()
        


        // Add the CameraViewController instances to the 'pages' array
        pages = [firstCameraViewController,secondCameraViewController,thirdCameraViewController]
        // Set the initial view controller to the first page

        for cameraVC in pages {
                  cameraVC.setupCameraView()
              }

        if let firstPage = pages.first {
            setViewControllers([firstPage], direction: .forward, animated: true, completion: nil)
        }
    }
    
    init() {
           super.init(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
       }

       required init?(coder: NSCoder) {
           fatalError("init(coder:) has not been implemented")
       }
}


extension filterViewController: UIPageViewControllerDataSource {
    func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? {
            guard let currentIndex = pages.firstIndex(of: viewController as! cameraViewController) else {
                return nil
            }

            let previousIndex = currentIndex - 1
            if previousIndex >= 0 {
                return pages[previousIndex]
            } else {
                return nil // Prevent looping to the last page
            }
        }

        func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
            guard let currentIndex = pages.firstIndex(of: viewController as! cameraViewController) else {
                return nil
            }

            let nextIndex = currentIndex + 1
            if nextIndex < pages.count {
                return pages[nextIndex]
            } else {
                return nil // Prevent looping to the first page
            }
           
        }
    
}



I have a class of uipageviewcontroller for camera view from main camera view to sub filter camera view , i have a problem of when i open sub camera view the pages will occupies a capture button so i need to resize a page camera view.

0

There are 0 best solutions below