2017-05-15 3 views
0

Parfois, il est difficile de trouver un titre précis pour une question ... mais va ici:Comment recharger le même viewcontroller avec les données transmises à l'aide UISwipeGestureRecognizer

J'ai un viewcontroller que je veux recharger avec nouvelles données en utilisant UISwipeGestureRecognizer, je veux dire essentiellement "si UISwipeGestureRecognizer direction est en hausse, x = x + 1 (je voudrais aussi ax = x - 1 pour un balayage vers le bas) .Il y a des images qui dépendent de l'entier transmis qui serait automatiquement Dans le meilleur des cas, il semblerait que le balayage soit animé vers une nouvelle page, mais en réalité ce serait le même contrôleur de vue avec des données différentes:

Il est difficile de poser cette question dans une coh mais j'espère que quelqu'un pourra comprendre l'essentiel de ce que j'essaie de faire. Sinon, excuses. Merci!

Répondre

0

Ajouter deux Swipe à votre Gesture Recognizers vue principale, une pour détecter la Balayez l'écran, et l'autre le glisser vers le bas, comme ceci:

class ViewController: UIViewController { 

    // Your gesture recognizers: 
    var swipeUpGestureRecognizer = UISwipeGestureRecognizer() 
    var swipeDownGestureRecognizer = UISwipeGestureRecognizer() 

    // Your x variable: 
    var x = 0 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Setup your gesture recognizers: 
     swipeUpGestureRecognizer.direction = .up 
     swipeUpGestureRecognizer.addTarget(self, action: #selector(swipeUpAction)) 

     swipeDownGestureRecognizer.direction = .down 
     swipeDownGestureRecognizer.addTarget(self, action: #selector(swipeDownAction)) 

     // Inserting the gesture recognizers into the main view: 
     self.view?.addGestureRecognizer(swipeUpGestureRecognizer) 
     self.view?.addGestureRecognizer(swipeDownGestureRecognizer) 

    } 

    // Methods: 
    func swipeUpAction() { 
     // Update your data here! 
     x = x + 1 
    } 

    func swipeDownAction() { 
     // Update your data here! 
     x = x - 1 
    } 

} 

Cela devrait fonctionner! Bonne chance!

+0

@tfcamp J'ai fait une erreur sur mon code précédent, à "Insertion des reconnaisseurs de gestes dans la vue principale" J'ai déjà utilisé "addSubview" mais "addGestureRecognizer" (je l'ai déjà édité), vérifiez encore! Je l'ai testé sur Xcode et ça marche. – ThiagoAM

+0

Merci !!! Ran le changement et tout fonctionne bien. Très utile, merci. – tfcamp