IOS: cómo ocultar una vista tocando en cualquier lugar fuera de ella

Soy nuevo en la progtwigción IOS, estoy mostrando una vista cuando se hace clic en un button, usando el siguiente código dentro del método de button.

@IBAction func moreButton(_ sender: Any) { self.helpView.isHidden = false } 

inicialmente, el self.helpView.isHidden se establece en true en el método viewDidLoad para ocultar la vista. Ahora, ¿cómo puedo descartar esta vista tocando en cualquier lugar fuera de la vista? De la investigación, descubrí que, se puede hacer mediante la creación de un button transparente que se ajuste a todo el viewController. Entonces, onclick en el button, podemos hacer que la vista se elimine. ¿Alguien puede darme el código en swift 3 para crear dicho button?

O bien, si hay alguna otra forma mejor de ocultar una vista, es bienvenida.

Estoy usando Xcode 8.2, swift 3.0

Gracias por adelantado.

En contacto comenzó a escribir como

 override func touchesBegan(_ touches: Set<AnyHashable>, withEvent event: UIEvent) { var touch: UITouch? = touches.first //location is relative to the current view // do something with the touched point if touch?.view != yourView { yourView.isHidden = true } } 

Puede usar el método touchesBegan para eso:

 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.helpView.isHidden = true } 

Dentro del button moreButton seleccionado, puede hacer algo como esto

  @IBAction func moreButton(_ sender: Any) { self.helpView.isHidden = false let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(UIViewController.dismissView)) view.addGestureRecognizer(tap) } func dismissView() { self.helpView.isHidden = true self.view.removeGestureRecognizer(tap) } 

Puede crear otro button transparente o, la vista de base (suponiendo que es una sola vista debajo del button) puede abordar lo que está intentando hacer. En primer lugar, necesitarías hacerlo tapeable. Luego, quiere manejar la lógica de lo que sucede cuando se toca o se desenrolló.