Giter Site home page Giter Site logo

parsida / preview-transition Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ramotion/preview-transition

0.0 2.0 0.0 17.84 MB

PreviewTransition is a simple preview gallery controller

Home Page: https://business.ramotion.com/gthb-casestudies

License: MIT License

Ruby 0.90% Swift 98.10% Objective-C 1.01%

preview-transition's Introduction

header

Preview-transition

Twitter Travis Carthage compatible CocoaPods CocoaPods CocoaPods codebeat badge

About

This project is maintained by Ramotion, Inc.
We specialize in the designing and coding of custom UI for Mobile Apps and Websites.

Looking for developers for your project? [▶︎CONTACT OUR TEAM◀︎]

StackViewController Example App

The iPhone mockup available here.

Requirements

  • iOS 9.0+
  • Xcode 8

Licence

Preview-transition is released under the MIT license. See LICENSE for details.

Installation

Just add the Source folder to your project or use CocoaPods like this:

pod "PreviewTransition", "~> 2.0.1" swift 3

pod "PreviewTransition", "~> 1.1.5" swift 2

or Carthage users can simply add to their Cartfile:

github "Ramotion/preview-transition"

Usage

  1. import PreviewTransition

  2. Create UITableViewController inherit, inheriting from PTTableViewController

  3. Add UITableViewDelegate methods

public override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return <RowsCount>
}

public override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    return tableView.dequeueReusableCellWithIdentifier(<CellIdentifier>, forIndexPath: indexPath)
}
  1. add a ParallaxCell

storyboards: create a cell and inherit from ParallaxCell; don't forget set the identifier <CellIdentifier>

or programmatically: register a cell in viewDidLoad tableView.registerClass(ParallaxCell, forCellReuseIdentifier:<CellIdentifier>)

  1. set cell height

  2. create image names (image sizes must be equal to screen size or bigger)

let images = [image_name, image_name, image_name, image_name, image_name] // image names
  1. set image and text for ParallaxCell
public override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {

    guard let cell = cell as? ParallaxCell else {
      return
    }

    let imageName = images[indexPath.row]

    if let image = UIImage(named: imageName) {
      cell.setImage(image, title: <SetText>)
    }
}

your tableViewController should look like DemoTableViewController

Method public override func tableView(tableView: didSelectRowAtIndexPath indexPath:) we will add later. (step 10)

  1. Create UIViewController, inheriting from PTDetailViewController

  2. Add action for backButton and call popViewController()

func backButtonHandler() {
    popViewController()
}
  1. Push this UIViewController in UITableViewController. Add method
public override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

  // create viewController
  let <YourViewController> = storyboard?.instantiateViewControllerWithIdentifier(<identifier>)
  if case let viewController as <YourViewController> = viewController {
     pushViewController(viewController)
  }
}
  1. Configure UINavigationBar
// transparent background
UINavigationBar.appearance().setBackgroundImage(UIImage(), forBarMetrics: .Default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().translucent = true
UINavigationBar.appearance().tintColor = .whiteColor()

// set font
if let font = UIFont(name: <Font name> , size: 18) {
      UINavigationBar.appearance().titleTextAttributes = [
        NSForegroundColorAttributeName : UIColor.whiteColor(),
        NSFontAttributeName : font
      ]
}

Follow us

Twitter URL Twitter Follow

preview-transition's People

Contributors

0ber avatar aleksei1000000 avatar juriv avatar basthomas avatar ramotionrussell avatar

Watchers

James Cloos avatar Farid Behnia 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.