Giter VIP home page Giter VIP logo

swipeviewcontroller's Introduction

SwipeViewController

CI Status Version License Platform Carthage compatible

What is SwipeViewController?

SwipeViewController enables you to modify the navigation bar and implement 'Swipe Buttons' that can user switch pages with and also the user can easily see which page he is on. SwipeViewController is a modification of Objective-C project RKSwipeBetweenViewControllers. I have not only converted the syntax to Swift but added some more functionality and some other minor changes.

demo

Installation

For both options

Include in your AppDelegate function didFinishLaunchingWithOptions:

let pageController = UIPageViewController(transitionStyle: .Scroll, navigationOrientation: .Horizontal, options: nil)
let navigationController = YourViewControllerName(rootViewController: pageController)
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()

CocoaPods

SwipeViewController is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SwipeViewController"

Carthage

If you use Carthage, add this to your Cartfile:

github "fortmarek/SwipeViewController"

Manually

Include the Pod/Classes/SwipeViewController.swift and the Pod/Classes/InterfaceController.swift files into your project.

Usage

First make your ViewController a subclass of SwipeViewController

import SwipeViewController

class ViewController: SwipeViewController {}

All the other setup and customization function have to be in viewDidLoad()

Page Array

You first need to set the array of view controllers that you want to display, in order to do that you need to use this function:

let stb = UIStoryboard(name: "Walkthrough", bundle: nil)
let page_one = stb.instantiateViewControllerWithIdentifier(“page1) as UIViewController
let page_two = stb.instantiateViewControllerWithIdentifier(“page2) as UIViewController
let page_three = stb.instantiateViewControllerWithIdentifier(“page3) as UIViewController

setViewControllerArray([page_one, page_two, page_three])

Or you can add pages by one and not as a whole array:

let stb = UIStoryboard(name: "Walkthrough", bundle: nil)
let page_one = stb.instantiateViewControllerWithIdentifier(“page1) as UIViewController

addViewController(page_one)

To set the titles of the buttons, you just need to change the title of each page:

page_one.title = "Recent"

To specify which view controller should be selected first:

setFirstViewController(1)

It should also be said that the first view controller index starts at zero, just like arrays.

NavigationBar

To change color of the NavigationBar:

setNavigationColor(UIColor.blueColor())

You can also include barButtonItems, simply create UIBarButtonItem as you would normally do and then use it like this:

let barButtonItem = UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: nil)
setNavigationWithItem(UIColor.whiteColor(), leftItem: barButtonItem, rightItem: nil)

SwipeButtons

You can either customize buttons with this function:

setButtons(UIFont.systemFontOfSize(18), color: UIColor.blackColor())

Or if you want to change the color of the buttons depending on which page the user is on:

setButtonsWithSelectedColor(UIFont.systemFontOfSize(18), color: UIColor.blackColor(), selectedColor: UIColor.whiteColor())

To change the offsets on the side and on the bottom:

setButtonsOffset(40, bottomOffset: 5)

SelectionBar

To customize selection bar, use this function:

setSelectionBar(80, height: 3, color: UIColor.blackColor())

Additional customization

If you want to customize it even more, you can go right to the the SwipeViewController class file but be careful.

Author

fortmarek, [email protected]

License

SwipeViewController is available under the MIT license. See the LICENSE file for more info.

swipeviewcontroller's People

Contributors

fortmarek avatar

Watchers

Omid Khosrojerdi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.