You can do this on a regular viewController ... Perhaps you can find some animations for this, but I think this is a step in the right direction:
First define imageView and images to go inside:
@IBOutlet weak var swipeImageView: UIImageView!
let imageNames = ["","","","",""]
viewDidLoad gestureRecognizers :
var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
var swipeLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
self.view.addGestureRecognizer(swipeLeft)
, .
var currentImage = 0
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Left:
if currentImage == imageNames.count - 1 {
currentImage = 0
}else{
currentImage += 1
}
swipeImageView.image = UIImage(named: imageNames[currentImage])
case UISwipeGestureRecognizerDirection.Right:
if currentImage == 0 {
currentImage = imageNames.count - 1
}else{
currentImage -= 1
}
swipeImageView.image = UIImage(named: imageNames[currentImage])
default:
break
}
}
}
viewController :
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var swipeImageView: UIImageView!
let imageNames = ["","","","",""]
var currentImage = 0
override func viewDidLoad() {
super.viewDidLoad()
var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeRight.direction = UISwipeGestureRecognizerDirection.Right
self.view.addGestureRecognizer(swipeRight)
var swipeLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
self.view.addGestureRecognizer(swipeLeft)
}
func respondToSwipeGesture(gesture: UIGestureRecognizer) {
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.Left:
if currentImage == imageNames.count - 1 {
currentImage = 0
}else{
currentImage += 1
}
swipeImageView.image = UIImage(named: imageNames[currentImage])
case UISwipeGestureRecognizerDirection.Right:
if currentImage == 0 {
currentImage = imageNames.count - 1
}else{
currentImage -= 1
}
swipeImageView.image = UIImage(named: imageNames[currentImage])
default:
break
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}