Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.11 KB | None | 0 0
  1. //
  2. // TinderViewController.swift
  3. // E-gnite
  4. //
  5. // Created by Chris Da silva on 2015-01-29.
  6. // Copyright (c) 2015 Chris Da silva. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. class TinderViewController: UIViewController {
  12. var i = 30
  13. var alphaX : CGFloat = 0
  14. var orgState : CGPoint = CGPoint()
  15. var usernames = [String]()
  16. var userImages = [NSData]()
  17. var currentUser = 0
  18. override func viewDidLoad() {
  19. super.viewDidLoad()
  20. //Getting Users Location
  21. PFGeoPoint.geoPointForCurrentLocationInBackground { (geopoint: PFGeoPoint!, error: NSError!) -> Void in
  22.  
  23. if error == nil {
  24.  
  25. var user = PFUser.currentUser()
  26. user["location"] = geopoint
  27.  
  28.  
  29. var query = PFUser.query()
  30. if PFUser.currentUser()["interestedInMen"] as Bool == true {
  31. query.whereKey("gender", notEqualTo: "male")
  32. }
  33. if PFUser.currentUser()["interestedInWomen"] as Bool == true {
  34. query.whereKey("gender", notEqualTo: "female")
  35. }
  36. query.whereKey("username", notEqualTo: PFUser.currentUser().username)
  37. query.whereKey("location", nearGeoPoint:geopoint)
  38. switch PFUser.currentUser()["gender"] as String {
  39. case "male":
  40. query.whereKey("interestedInMen", equalTo: true)
  41. default:
  42. query.whereKey("interestedInWomen", equalTo: true)
  43. }
  44.  
  45. // Final list of objects
  46. query.findObjectsInBackgroundWithBlock({ (users, error) -> Void in
  47. for user in users {
  48. self.usernames.append(user.username)
  49. self.userImages.append(user["Image"] as NSData)
  50. }
  51.  
  52.  
  53. self.addLabel(UIImage(data: self.userImages[0])!)
  54. })
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. user.save()
  62. }
  63. }
  64.  
  65.  
  66. }
  67. func addLabel(imageData : UIImage) {
  68. //Adding the Image
  69. var userImage: UIImageView = UIImageView(frame: CGRectMake(0, 0, self.view.frame.width,self.view.frame.height))
  70. userImage.contentMode = .ScaleAspectFit
  71. userImage.image = imageData
  72. orgState = userImage.center
  73. self.view.addSubview(userImage)
  74.  
  75. //Attaching Gesture Recognition to Image
  76. var gesture = UIPanGestureRecognizer(target: self, action: Selector("wasDragged:"))
  77. userImage.addGestureRecognizer(gesture)
  78.  
  79. userImage.userInteractionEnabled = true
  80. }
  81.  
  82.  
  83. func wasDragged(gesture : UIPanGestureRecognizer){
  84. //Vector Translations
  85. let translation = gesture.translationInView(self.view)
  86. alphaX += (translation.x * 3.14/180)
  87. var image = gesture.view!
  88. image.center = CGPoint(x: image.center.x + translation.x, y: image.center.y + translation.y)
  89. gesture.setTranslation(CGPointZero, inView: self.view)
  90.  
  91. //Transformations
  92. var transformVar = min(abs(2/* size/speed factor decimal *//alphaX ),1)
  93. var rotation:CGAffineTransform = CGAffineTransformMakeRotation(alphaX/9)
  94. var scale: CGAffineTransform = CGAffineTransformScale(rotation, transformVar,transformVar)
  95. image.transform = scale
  96. gesture.view!.alpha = 1-(min(abs(alphaX/10),1))
  97.  
  98. //StateCheck
  99.  
  100. if gesture.state==UIGestureRecognizerState.Ended {
  101.  
  102. if image.center.x < 100 {
  103. currentUser++
  104. println("Not Chosen")
  105. //refresh view/change image
  106. image.removeFromSuperview()
  107. if currentUser < userImages.count {
  108. addLabel(UIImage(data: userImages[currentUser])!)
  109. } else {
  110. println("Oops No more users!")
  111. }
  112.  
  113. alphaX = 0
  114.  
  115. } else if image.center.x > self.view.bounds.width - 90 {
  116. currentUser++
  117. println("Chosen")
  118. //refresh view/change image
  119. image.removeFromSuperview()
  120. if currentUser < userImages.count {
  121. addLabel(UIImage(data: userImages[currentUser])!)
  122. } else {
  123. println("Oops No more users!")
  124. }
  125. alphaX = 0
  126.  
  127. } else {
  128.  
  129. UIView.animateWithDuration(0.3, animations: { () -> Void in
  130.  
  131. image.center = self.orgState
  132.  
  133. image.transform = CGAffineTransformIdentity
  134. self.alphaX = 0
  135.  
  136. })
  137.  
  138. }
  139.  
  140. }
  141. }
  142.  
  143.  
  144. override func didReceiveMemoryWarning() {
  145. super.didReceiveMemoryWarning()
  146. // Dispose of any resources that can be recreated.
  147.  
  148. }
  149.  
  150.  
  151.  
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement