Loyalty iOS App Template in Swift Swift

Start your iPhone Loyalty app here.

What’s more cool than being rewarded for being a loyal customer?  Its being able to easily keep track of your loyalty points and rewards in a handy app.  A loyalty app done right can get amazing engagement with your customers, and give you a direct line to them for promotions, feedback and more. So we decided to help you out, and build a coolest Loyalty app template for iPhone ever.  Complete with beautiful UI, slick animations and intuitive UX. We’ve done the hard work and created this functional UI template, ready for you to add in your backend API.  And we’ve written it in native, modern Apple Swift.  So get check out the video of it below, and get started on your amazing Loyalty card app for iOS.

 

What’s included in this download

  • App Template Xcode project written in native Swift
  • Original layered Adobe Photoshop .psd files you can edit
  • 25+ Sliced .png files
  • Extensive Documentation Download
myapptemplates Loyalty iOS App Template in Swift

Start your iPhone Loyalty app here. What’s more cool than being rewarded for being a loyal customer?  Its being able to easily keep track of your loyalty points and rewards in a handy app.  A loyalty app done right can get amazing engagement with your customers, and give you a direct line to them for […]

  • License Details
  • Swift Sample Project
  • .PSD files
  • Retina support
  • .PNG Artwork
  • iOS 10 optimised
Our iOS and Android app templates are a perfect place to start building awesome apps. Get a functional native code base, eye-catching beautiful artwork with excellent UX, icon artwork and documentation. Make your app so beautiful it can't be ignored

Detailed Card View with Custom Animations

Custom Search View

Barcode Scanner View

Profile View with Detailed Switches

Login View

Code Snippet

//
//  MyCardsViewController.swift
//  LoyaltyCard
//
//  Copyright (c) 2015 MyAppTemplates. All rights reserved.
//

import UIKit

class MyCardsViewController: UIViewController {

    var isSignedIn = false
    var arrIcons : NSArray!
    var selectedIndexPath = -1
    var isTableCellSelected = false
    @IBOutlet var tblContents: UITableView!
    
    
    override func viewDidLoad() {
        super.viewDidLoad()

        arrIcons = ["card-target.png", "card-ikea-family.png", "card-amazone.png", "card-star-bud.png", "card-itune.png","card-planet.png"]
        tblContents.tableFooterView = UIView()
        
        // Do any additional setup after loading the view.
    }
    
    override func viewDidAppear(animated: Bool) {
        if !isSignedIn {
            let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
            appDelegate.showLogin()
            isSignedIn = true
        }
    }
    
    func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
        if ((indexPath.row == (arrIcons.count - 1)) || (indexPath.row == selectedIndexPath)) {
            return 401
        } else if (isTableCellSelected) {
            return 10
        } else {
            return 60
        }
    }
    
    func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
        if selectedIndexPath == indexPath.row {
            selectedIndexPath = -1
            isTableCellSelected = false
        } else {
            selectedIndexPath = indexPath.row
            isTableCellSelected = true
        }
        
        tableView.beginUpdates()
        tableView.endUpdates()
    }
    
    func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
        return arrIcons.count
    }
    
    func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
        return 1
    }
    
    func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
        var cell : CardTableViewCell!
        cell = tblContents.dequeueReusableCellWithIdentifier("CardCell") as CardTableViewCell
        cell.imgIcon.image = UIImage(named: arrIcons.objectAtIndex(indexPath.row) as String)
        return cell
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    
    /*
    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.
    }
    */

}

Template Benefits

  • iOS 10 ready
  • iPhone 5/6/7/7+ ready
  • Beautiful, minimal design with excellent UX flow
  • Ready to run right away in Xcode 8
  • Prebuilt functionality saves you hundreds of hours of designing, programming, and testing
  • Customise the template in Xcode 8 to build your own app
  • Adheres to Apple’s strict Human Interface Guidelines for easier app approval
  • The easiest way to create your own app!