Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // TinderViewController.swift
- // E-gnite
- //
- // Created by Chris Da silva on 2015-01-29.
- // Copyright (c) 2015 Chris Da silva. All rights reserved.
- //
- import UIKit
- class TinderViewController: UIViewController {
- var i = 30
- var alphaX : CGFloat = 0
- var orgState : CGPoint = CGPoint()
- var usernames = [String]()
- var userImages = [NSData]()
- var currentUser = 0
- override func viewDidLoad() {
- super.viewDidLoad()
- //Getting Users Location
- PFGeoPoint.geoPointForCurrentLocationInBackground { (geopoint: PFGeoPoint!, error: NSError!) -> Void in
- if error == nil {
- var user = PFUser.currentUser()
- user["location"] = geopoint
- var query = PFUser.query()
- if PFUser.currentUser()["interestedInMen"] as Bool == true {
- query.whereKey("gender", notEqualTo: "male")
- }
- if PFUser.currentUser()["interestedInWomen"] as Bool == true {
- query.whereKey("gender", notEqualTo: "female")
- }
- query.whereKey("username", notEqualTo: PFUser.currentUser().username)
- query.whereKey("location", nearGeoPoint:geopoint)
- switch PFUser.currentUser()["gender"] as String {
- case "male":
- query.whereKey("interestedInMen", equalTo: true)
- default:
- query.whereKey("interestedInWomen", equalTo: true)
- }
- // Final list of objects
- query.findObjectsInBackgroundWithBlock({ (users, error) -> Void in
- for user in users {
- self.usernames.append(user.username)
- self.userImages.append(user["Image"] as NSData)
- }
- self.addLabel(UIImage(data: self.userImages[0])!)
- })
- user.save()
- }
- }
- }
- func addLabel(imageData : UIImage) {
- //Adding the Image
- var userImage: UIImageView = UIImageView(frame: CGRectMake(0, 0, self.view.frame.width,self.view.frame.height))
- userImage.contentMode = .ScaleAspectFit
- userImage.image = imageData
- orgState = userImage.center
- self.view.addSubview(userImage)
- //Attaching Gesture Recognition to Image
- var gesture = UIPanGestureRecognizer(target: self, action: Selector("wasDragged:"))
- userImage.addGestureRecognizer(gesture)
- userImage.userInteractionEnabled = true
- }
- func wasDragged(gesture : UIPanGestureRecognizer){
- //Vector Translations
- let translation = gesture.translationInView(self.view)
- alphaX += (translation.x * 3.14/180)
- var image = gesture.view!
- image.center = CGPoint(x: image.center.x + translation.x, y: image.center.y + translation.y)
- gesture.setTranslation(CGPointZero, inView: self.view)
- //Transformations
- var transformVar = min(abs(2/* size/speed factor decimal *//alphaX ),1)
- var rotation:CGAffineTransform = CGAffineTransformMakeRotation(alphaX/9)
- var scale: CGAffineTransform = CGAffineTransformScale(rotation, transformVar,transformVar)
- image.transform = scale
- gesture.view!.alpha = 1-(min(abs(alphaX/10),1))
- //StateCheck
- if gesture.state==UIGestureRecognizerState.Ended {
- if image.center.x < 100 {
- currentUser++
- println("Not Chosen")
- //refresh view/change image
- image.removeFromSuperview()
- if currentUser < userImages.count {
- addLabel(UIImage(data: userImages[currentUser])!)
- } else {
- println("Oops No more users!")
- }
- alphaX = 0
- } else if image.center.x > self.view.bounds.width - 90 {
- currentUser++
- println("Chosen")
- //refresh view/change image
- image.removeFromSuperview()
- if currentUser < userImages.count {
- addLabel(UIImage(data: userImages[currentUser])!)
- } else {
- println("Oops No more users!")
- }
- alphaX = 0
- } else {
- UIView.animateWithDuration(0.3, animations: { () -> Void in
- image.center = self.orgState
- image.transform = CGAffineTransformIdentity
- self.alphaX = 0
- })
- }
- }
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement