A rubber animation pagecontrol
  • October 26, 2023

A rubber animation pagecontrol

Requirements


  • Swift 4.0
  • iOS 8.0+
  • Xcode 9.0

Installation


CocoaPods

You can use CocoaPods to install TKRubberPageControl by adding it to your Podfile:

platform :ios, ‘8.0’
use_frameworks!
pod ‘TKRubberPageControl’

To get the full benefits import TKRubberPageControl wherever you import UIKit

import UIKit
import TKRubberPageControl

Carthage

Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/TKRubberPageControl.framework to an iOS project.

github “tbxark/TKRubberIndicator”

Manually
  1. Download and drop TKRubberPageControl.swift in your project.
  2. Congratulations!

Usage example


You can use closure or Target-Action to listen control event

class ViewController: UIViewController {

let page = TKRubberIndicator(frame: CGRectMake(100, 100, 200, 100), count: 6)

override func viewDidLoad() {
super.viewDidLoad()

self.view.backgroundColor = UIColor(red:0.553, green:0.376, blue:0.549, alpha:1)
page.center = self.view.center
page.valueChange = {(num) -> Void in
print(“Closure : Page is \(num)”)
}
page.addTarget(self, action: “targetActionValueChange:”, forControlEvents: UIControlEvents.ValueChanged)
self.view.addSubview(page)

page.numberOfpage = 2
}

@IBAction func pageCountChange(sender: UISegmentedControl) {
page.numberOfpage = (sender.selectedSegmentIndex + 1) * 2
}
func targetActionValueChange(page:TKRubberIndicator){
print(“Target-Action : Page is \(page.currentIndex)”)
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}

Base

Key Usage
smallBubbleSize 未选中小球尺寸 unselect small ball size
mainBubbleSize 选中大球尺寸 select big ball size
bubbleXOffsetSpace 小球间距 The distance between the ball
bubbleYOffsetSpace 纵向间距 bubble Y Offset Space
animationDuration 动画时长 animation duration
backgroundColor 背景颜色 control background color
smallBubbleColor 小球颜色 unselect small ball color
mainBubbleColor 大球颜色 select big ball color

Release History


  • 1.4.0 Swift 4.0

  • 1.3.1 Bug Fixed

  • 1.3.0 Support Swift 3.0

  • 1.0.5 Fix bug, add Cocoapod and Carthage support

  • 1.0.4 Complete basic functions

GitHub


View Github

#carthage #cocoapods #ios #pagecontrol #pagecontroller #pageindicator #pager #swift #ui #uikit #uipagecontroller #uipageviewcontroller #viewpager
YOU MIGHT ALSO LIKE...
🧭 NavigationKit

NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...

swiftui-navigation-stack

An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...

Stinsen

Simple, powerful and elegant implementation of the Coordinator pattern in SwiftUI. Stinsen is written using 100% SwiftUI which makes it ...

SwiftUI Router

With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...

FlowStacks

This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...