Skip to content

Latest commit

 

History

History
81 lines (64 loc) · 2.29 KB

README.md

File metadata and controls

81 lines (64 loc) · 2.29 KB

IZPageController

CI Status Version License Platform

Requirements

Installation

IZPageController is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "IZPageController"

Author

Taylor, [email protected]

License

IZPageController is available under the MIT license. See the LICENSE file for more info.

Example

import UIKit
import IZPageController

class ViewController: IZPageController, IZPageControllerDelegate {
    override func viewDidLoad() {
        super.viewDidLoad()
        delegate = self
    }

    var dualView: Bool {
        return scrollView.frame.width >= 320 * 2
    }

    func numberOfViewControllers() -> Int {
        return 4
    }

    func viewController(at index: Int) -> UIViewController {
        let vc = UIViewController()
        switch index {
        case 0:
            vc.view.backgroundColor = .red
        case 1:
            vc.view.backgroundColor = .blue
        case 2:
            vc.view.backgroundColor = .green
        case 3:
            vc.view.backgroundColor = .yellow
        default:
            vc.view.backgroundColor = .lightGray
        }
        vc.view.backgroundColor = vc.view.backgroundColor!.withAlphaComponent(0.5)
        return vc
    }

    override func sizeOfViewController() -> CGSize {
        if dualView {
            return CGSize(width: scrollView.frame.width / 2, height: scrollView.frame.height)
        } else {
            return scrollView.frame.size
        }
    }

    override func updateContentOffsetAfterRotation(previousIndex: Int) {
        if dualView {
            super.updateContentOffsetAfterRotation(previousIndex: previousIndex - previousIndex % 2)
        } else {
            super.updateContentOffsetAfterRotation(previousIndex: previousIndex)
        }
    }
}