Skip to content

Swipe between pages with an interactive title navigation control. Configure horizontal or vertical chains for unlimited pages amount.

License

Notifications You must be signed in to change notification settings

oroom/SlideController

 
 

Repository files navigation

LOGO

Build Status codecov.io Version License Platform

SlideController is simple and flexible UI component completely written in Swift. It is nice alternative for UIPageViewController built using power of generic types.

Horizontal Vertical Carousel

Requirements

  • iOS 9.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

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

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

target '<Your Target Name>' do
    pod 'SlideController'
end

Then, run the following command:

$ pod install

Usage

import SlideController
  1. Create content
let content = [
            SlideLifeCycleObjectBuilder<PageLifeCycleObject>(),
            SlideLifeCycleObjectBuilder<PageLifeCycleObject>(),
            SlideLifeCycleObjectBuilder<PageLifeCycleObject>()
        ]
  • PageLifeCycleObject is any object conforms to Initializable, Viewable, SlidePageLifeCycle protocols
  1. Initialize SlideController
slideController = SlideController<CustomTitleView, CustomTitleItem>(
    pagesContent: content,
    startPageIndex: 0,
    slideDirection: .horizontal
)
  • CustomTitleView is subclass of TitleScrollView<CustomTitleItem>
  • CustomTitleItem is subclass of UIView and conforms to Initializable, ItemViewable, Selectable protocols
  1. Add slideController.view to view hierarchy

  2. Call slideController.viewDidAppear() and slideController.viewDidDisappear() in appropriate UIViewController methods:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    slideController.viewDidAppear()
}
override func viewDidDisappear(_ animated: Bool) {
   super.viewDidDisappear(animated)
   slideController.viewDidDisappear()
}

About

Swipe between pages with an interactive title navigation control. Configure horizontal or vertical chains for unlimited pages amount.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.3%
  • Other 0.7%