2017-09-09 5 views
0

Si vous maintenez le bouton A enfoncé, vous souhaitez masquer la vueA J'ai effectué ce codage.À propos de la façon de masquer l'affichage lorsque j'appuie sur le bouton et le maintenez enfoncé

class ViewController: UIViewController { 

func longPress(gesture: UILongPressGestureRecognizer) { 
    //If button A was long pressed 
    if gesture.state == .began { 
     //I hide viewA. 
     self.viewA.isHidden = true 
    } 
} 

Ensuite, j'ai ajouté des boutons et des vues.
boutonA, boutonB, boutonC, boutonD.
viewA, viewB, viewC, viewD.

Je souhaite masquer viewD, par exemple lorsque j'appuie sur buttonD et que je le garde enfoncé.
J'ai pensé aux choses suivantes.

class ViewController: UIViewController { 
func longPress(gesture: UILongPressGestureRecognizer) { 
    ////If buttonA was long pressed 
    if gesture.state == .began { 
     self.viewA.isHidden = true 
    ////If buttonB was long pressed 
    } else if gesture.state == .began { 
     self.viewB.isHidden = true 
    ////If buttonC was long pressed 
    } else if gesture.state == .began { 
     self.viewC.isHidden = true 
    ////If buttonD was long pressed 
    } else if gesture.state == .began { 
     self.viewD.isHidden = true 
    } 
} 

Mais je ne sais pas comment écrire une instruction if.
Je sais cacher hideA quand j'appuie sur buttonA.
Comment coder lorsque j'augmente les boutons et les vues?

Répondre

1

Demandez le gesture reconnaissance de mouvement pour son view. C'est la vue sur laquelle l'utilisateur est en train de gesticuler (la vue à laquelle le détecteur de mouvement est attaché). Vous pouvez maintenant déterminer quelle vue supprimer.

+0

désolé ... Je ne comprends pas vos instructions car ma langue maternelle n'est pas l'anglais.Comment demander à la reconnaissance gestuelle de geste pour sa vue? – ginger

+0

Vous dites 'gesture.view'. - Ce n'est pas une question linguistique. Il suffit de lire la [documentation] (https://developer.apple.com/documentation/uikit/uigesturerecognizer/1624212-view)! (Ou apprendre Swift, si c'est ce qu'il faut.) – matt