Skip to content

TBXark/TKRubberIndicator

Folders and files

NameName
Last commit message
Last commit date
Feb 17, 2023
Feb 17, 2023
Aug 21, 2024
Jan 27, 2018
Sep 23, 2017
Jan 25, 2018
Aug 15, 2016
Jan 22, 2019
Jan 25, 2018
Jan 25, 2018

Repository files navigation

TKRubberIndicator

A rubber animation pagecontrol

Xcode 9.0+ iOS 8.0+ Swift 4.0+ Build Status CocoaPods Carthage compatible License MIT

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

Contribute

We would love for you to contribute to TKRubberPageControl, check the LICENSE file for more info.

Meta

TBXark – @tbxark[email protected]

Distributed under the MIT license. See LICENSE for more information.

https://github.com/TBXark