A page control similar to that used in Instagram

Overview

ISPageControl

Carthage compatible Version Xcode 9.0+ iOS 8.0+ Swift 4.0+ License

ISPageControl has a page control similar to that used in the Instagram

Contents

Requirements

  • iOS 8.0+
  • Xcode 9.0+
  • Swift 4.0+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1+ is required to build ISPageControl 4.0+.

To integrate ISPageControl into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
pod 'ISPageControl', '~> 0.1.0'
end

Then, run the following command:

$ pod install

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate ISPageControl into your Xcode project using Carthage, specify it in your Cartfile:

github "Interactive-Studio/ISPageControl" ~> 0.1.0

Run carthage update to build the framework and drag the built ISPageControl.framework into your Xcode project.

Manually

If you prefer not to use either of the aforementioned dependency managers, you can integrate ISPageControl into your project manually.


Usage

The usage of ISPageControl is very simple

Storyboard, Xib

Just drop UIView and set its class to be one of ISPageControl.

Code

let frame = CGRect(x: 0, y: 500, width: UIScreen.main.bounds.width, height: 100)
pageControl = ISPageControl(frame: frame, numberOfPages: 4)
pageControl.radius = 10
pageControl.padding = 10
pageControl.inactiveTintColor = UIColor.purple
pageControl.borderWidth = 3
pageControl.borderColor = UIColor.red
view.addSubview(pageControl)

Custom

@IBInspectable open var inactiveTintColor: UIColor

@IBInspectable open var currentPageTintColor: UIColor

@IBInspectable open var radius: CGFloat

@IBInspectable open var padding: CGFloat

@IBInspectable open var minScaleValue: CGFloat

@IBInspectable open var middleScaleValue: CGFloat

@IBInspectable open var numberOfPages: Int

@IBInspectable open var hideForSinglePage: Bool

@IBInspectable open var inactiveTransparency: CGFloat

@IBInspectable open var borderWidth: CGFloat

@IBInspectable open var borderColor: UIColor

If you want to know more detailed usage, please refer to Example.

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

Credits

License

ISPageControl is released under the MIT license. See LICENSE for details.

You might also like...
This widget displays a weight and a label. It can be used in the summary view for a strength assessment.
This widget displays a weight and a label. It can be used in the summary view for a strength assessment.

Strength Assessment Widget - Flutter Modern UI engineering is all about components. When we build components to be reusable, we enable faster iteratio

Whole, half or floating point ratings control written in Swift
Whole, half or floating point ratings control written in Swift

FloatRatingView A simple rating view for iOS written in Swift! Supports whole, half or floating point values. I couldn't find anything that easily set

A custom reusable circular / progress slider control for iOS application.
A custom reusable circular / progress slider control for iOS application.

HGCircularSlider Example To run the example project, clone the repo, and run pod install from the Example directory first. You also may like HGPlaceho

iOS 11 Control Center Slider
iOS 11 Control Center Slider

SectionedSlider Control Center Slider Requirements Installation Usage License Requirements iOS 8.0+ Swift 3.0+ Xcode 8.0+ Installation CocoaPods Cocoa

UIPheonix is a super easy, flexible, dynamic and highly scalable UI framework + concept for building reusable component/control-driven apps for macOS, iOS and tvOS
UIPheonix is a super easy, flexible, dynamic and highly scalable UI framework + concept for building reusable component/control-driven apps for macOS, iOS and tvOS

UIPheonix is a super easy, flexible, dynamic and highly scalable UI framework + concept for building reusable component/control-driven apps for macOS, iOS and tvOS

Fully customizable Facebook reactions like control
Fully customizable Facebook reactions like control

Reactions is a fully customizable control to give people more ways to share their reaction in a quick and easy way. Requirements • Usage • Installatio

RCalendarPicker A date picker control, Calendar calendar control, select control, calendar, date selection, the clock selection control.
RCalendarPicker A date picker control, Calendar calendar control, select control, calendar, date selection, the clock selection control.

RCalendarPicker RCalendarPicker Calendar calendar control, select control, calendar, date selection, the clock selection control. 日历控件 ,日历选择控件,日历,日期选择

Reading animation allows you to click on the different page numbers and accordingly it will animate page changes in a cool way. It has a very attractive UI and is very easy to use.
Reading animation allows you to click on the different page numbers and accordingly it will animate page changes in a cool way. It has a very attractive UI and is very easy to use.

Reading Animation Cool Reading Animation in iOS written in Swift. Preview Table of content :- Description How to add in your project Requirement Licen

A PageView Swiping to the left will go to previous page and swiping to the right will go to next page
A PageView Swiping to the left will go to previous page and swiping to the right will go to next page

PageView This package creates a PageView. Swiping to the left will go to previous page and swiping to the right will go to next page. You can find how

Instagram clone, the main focus of the app is the seamless swipe between views that we see on instagram
Instagram clone, the main focus of the app is the seamless swipe between views that we see on instagram

InstaSwipe Instagram clone, the main focus of the app is the seamless swipe betw

An unofficial version of the Sandwiches app and pre-built materials similar to those used in the Introduction to SwiftUI session video from WWDC20

Unofficial Sandwiches The WWDC20 Session Introduction to SwiftUI provides a tutorial-like walk-through of building a list-detail SwiftUI app from scra

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works

A set of libraries used for parsing representations of Swift Packages similar to how SwiftPM itself works, but also supporting Xcode specific features (such as Swift Playground Apps).

Slideshow - An automatic scrolling carousel similar to how ScrollView is used
Slideshow - An automatic scrolling carousel similar to how ScrollView is used

an automatic scrolling carousel similar to how scrollview is used. for swiftui

OysterKit is a framework that provides a native Swift scanning, lexical analysis, and parsing capabilities. In addition it provides a language that can be used to rapidly define the rules used by OysterKit called STLR

OysterKit A Swift Framework for Tokenizing, Parsing, and Interpreting Languages OysterKit enables native Swift scanning, lexical analysis, and parsing

A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. Same type of locker used in many of the large and small DBMSs in existence today.

StickyLocking StickyLocking is a general purpose embedded lock manager which allows for locking any resource hierarchy. Installable Lock modes allow f

Strucure: I used MVVM with Colusre binging modular architecture : Also I used openweathermap to get all information for current weather as it's easy t
Strucure: I used MVVM with Colusre binging modular architecture : Also I used openweathermap to get all information for current weather as it's easy t

Strucure: I used MVVM with Colusre binging modular architecture : Also I used openweathermap to get all information for current weather as it's easy t

Twitter Text Libraries. This code is used at Twitter to tokenize and parse text to meet the expectations for what can be used on the platform.

twitter-text This repository is a collection of libraries and conformance tests to standardize parsing of Tweet text. It synchronizes development, tes

A simple macOS utility that can be used to control the behaviour of Bose QC35 Headphones straight from the menu bar.

bose-macos-utility A simple macOS utility that can be used to control the behaviour of Bose QC35 Headphones straight from the menu bar. Why Have you e

Control Room : a macOS app that lets you control the simulators for iOS, tvOS, and watchOS
Control Room : a macOS app that lets you control the simulators for iOS, tvOS, and watchOS

Control Room is a macOS app that lets you control the simulators for iOS, tvOS, and watchOS – their UI appearance, status bar configuration, and more.

Comments
  • added support for non-circle dots and opacity fade

    added support for non-circle dots and opacity fade

    This will:

    1. add support for non-circles indicators such as squares and capsule-like shapes.
    2. add support for more "fade" effects beside scale (added opacity effect)
    opened by BarakRL 0
  • I cannot get this to work

    I cannot get this to work

    I followed everything as closely as possible, I am still unable to get a scaling effect and the dots do not increment with the pages...any chance I could get some help! Trying to implement this into a project for school, deadline next week so I know it's probably tight

    opened by jonalynnA 1
  • Applying Infinity effect to ISPageControl

    Applying Infinity effect to ISPageControl

    How can I achieve effect of infinite scrolling? Not that page index at the end of the list becomes 0 again, but elements are added to the end of the scroll and before first element if user scrolls to left

    opened by ziya2018 0
  • PageControl width not increase.

    PageControl width not increase.

    i try to increase width for PageControl but PageControl width wasn't increase. I set static width from StoryBoard as well as programatically but wan't increase the width of PageControl.

    Please guide me how can i increase the width of PageControl?

    Thanks

    opened by KuldeepAIP 0
Owner
Interactive
Interactive
Interactive
Page view controller with bounce effect

BouncyPageViewController Page view controller with bounce effect inspired by motion design by Stan Yakushevish. Quickstart Create a queue of UIViewCon

Bohdan Orlov 843 Oct 17, 2022
📖 A simple, highly informative page view controller

TL;DR UIPageViewController done properly. ⭐️ Features Simplified data source management & enhanced delegation. Dynamically insert & remove pages. Infi

UI At Six 1.8k Dec 24, 2022
EdvoraUI - The UI for the login page for Edvora made in SwiftUI

About This is the UI for the login page for Edvora made in SwiftUI. Screenshot L

Noman Ahmad 0 Jan 11, 2022
Meet Page View Controller for iOS by Cleveroad

While a standard page view allows you to navigate between pages by using simple gestures, our component goes further

Cleveroad 397 Aug 20, 2022
A horizontal scroll dial like Instagram.

HorizontalDial Preview Requirements iOS 8.0+ Swift 5 Storyboard support Installation CocoaPods use_frameworks! pod "HorizontalDial" Manually To instal

Lee Sun-Hyoup 210 Nov 22, 2022
Snapchat / Instagram Stories like progress indicator

SegmentedProgressBar A simple little control that animates segments like Snapchat or Instagram Stories. Requirements iOS 8.0+ Xcode 8 Installation Dra

Dylan Marriott 442 Dec 25, 2022
A panel component similar to the iOS Airpod battery panel or the Share Wi-Fi password panel.

A SwiftUI panel component similar to the iOS Airpod battery panel or the Share Wi-Fi password panel.

Red Davis 12 Feb 7, 2022
DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works.

DrawerKit What is DrawerKit? DrawerKit is a custom view controller presentation mimicking the kind of behaviour in the Apple Maps app. It lets any vie

Babylon Health 773 Dec 27, 2022
iOS custom controller used in Jobandtalent app to present new view controllers as cards

CardStackController iOS custom controller used in the Jobandtalent app to present new view controllers as cards. This controller behaves very similar

jobandtalent 527 Dec 15, 2022