shot on dribbble:
The iPhone mockup available here.
Requirements
- IOS 8.0 +
- Xcode 7.3
Licence
Preview-transition is released under the MIT license.
See LICENSE for details.
Just add the Source folder to your project or use CocoaPods like this:
pod 'PreviewTransition'Copy the code
Usage
1) import PreviewTransition
2) Create UITableViewController inherit, inheriting from PTTableViewController
3) Add UITableVeiwDelegate methods
public override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return <RowsCoutn>
}
public override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return tableView.dequeueReusableCellWithIdentifier(<CellIdentifier>, forIndexPath: indexPath)
}Copy the code
4) add a ParallaxCell
strorybords: create a cell and inherit from ParallaxCell; Don’t forget to set the identifier
or programmatically:
register a cell in viewDidLoad tableView.registerClass(ParallaxCell, forCellReuseIdentifier:
5) set cell height
6) 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 namesCopy the code
7) 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>)
}
}Copy the code
your tableViewController should look like DemoTableViewController
Method public override func tableView(tableView: didSelectRowAtIndexPath indexPath:)
we will add later. (step 10)
8) Create UIViewController, inheriting from PTDetailViewController
9) Add action for backButton and call popViewController()
func backButtonHandler() {
popViewController()
}Copy the code
10) 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)
}
}Copy the code
11) Configure UINavigationBar
// transparent background
UINavigationBar.appearance(a).setBackgroundImage(UIImage(), forBarMetrics: .Default)
UINavigationBar.appearance(a).shadowImage = UIImage()
UINavigationBar.appearance(a).translucent = true
UINavigationBar.appearance(a).tintColor = .whiteColor(a) / /set font
if let font = UIFont(name: <Font name> , size: 18) {
UINavigationBar.appearance(a).titleTextAttributes = [
NSForegroundColorAttributeName : UIColor.whiteColor(),
NSFontAttributeName : font
]
}Copy the code
About
The project maintained by app development agency Ramotion Inc.
See our other open-source projects or hire us to design, develop, and grow your product.