page control
  • October 26, 2023

Requirements


  • iOS 9.0+
  • Xcode 7.0+

Installation


CocoaPods:

Add folowing line to Podfile and run ‘pod instal’.

pod ‘Sevruk-PageControl’

Or just drag and drop FoldingCell.swift file to your project

Usage with storyboard


  1. Add a new UIView to storyboard.

  2. Inherit view from PageControl.

  1. In view controller create an outlet to a view from storyboard and you’re ready to go.

Here is code example that uses UIScrollView.

import UIKit
import PageControl

class ViewController: UIViewController, UIScrollViewDelegate {

@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var pageControl: PageControl!

override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
pageControl.numberOfPages = Int(scrollView.contentSize.width / scrollView.bounds.width)
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
let page = scrollView.contentOffset.x / scrollView.bounds.width
pageControl.currentPage = page
}
}

Usage without storyboard


  1. Create a PageControl view and add it to your view hierarchy.

let pageControl = PageControl()
addSubview(pageControl)

  1. Setup pageControl with your needs.

pageControl.numberOfPages = 5
pageControl.spacing = 14.0
pageControl.indicatorDiameter = 8.0
pageControl.currentIndicatorDiameter = 12.0
pageControl.indicatorTintColor = .darkGray
pageControl.currentIndicatorTintColor = .green

  1. And update current page when needed.

pageControl.currentPage = 1

GitHub


View Github

#ios #library #materialdesign #swift #ui
YOU MIGHT ALSO LIKE...
Popup View

Floaters Toasts Popups Sheets

Drops đź’§

A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.

MarqueeText

A SwiftUI Marquee or "scrolling text" effect found in Apple native apps. For when one line isn't enough, but two ...

TextBuilder

Introduction Text composition in SwiftUI can often be cumbersome, especially when there's logic affecting its format and content. TextBuilder leverages the ...

TextView

Download File -> Swift Packages -> Add Package Dependency... Select your project Enter https://github.com/kenmueller/TextView for the package repository URL Select Branch: master Click Finish ...