Swift: ocultar el button en la subvista

Estoy intentando ocultar un button UIB en una subView cuando se activa una function. Tengo varias vistas con esa jerarquía:

var takePhotoButton : UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton takePhotoButton.addTarget(self, action:"takePhoto", forControlEvents:UIControlEvents.TouchUpInside) var savePhotoButton : UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton let view2:UIView = UIView(frame: CGRectMake(0, 0, 320, 568)) self.view.addSubview(photoMask) photoMask.addSubview(view2) view2.addSubview(takePhotoButton) 

Quiero ocultar el takePhotoButton cuando se activa la siguiente function, ¿cómo podría hacer eso?

  func takePhoto(takePhotoButton: UIButton!) { takePhotoButton.hidden = true } 

Tienes que convertir el UIButton en una propiedad de la class si quieres mantener una reference a ella. Luego puede acceder a él usando self.takePhotoButton .

Use takePhoto: como selector mientras agrega objective y el button se pasará cuando se invoca el método.

  var takePhotoButton : UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton takePhotoButton.addTarget(self, action:"takePhoto:", forControlEvents:UIControlEvents.TouchUpInside) var savePhotoButton : UIButton = UIButton.buttonWithType(UIButtonType.System) as UIButton let view2:UIView = UIView(frame: CGRectMake(0, 0, 320, 568)) self.view.addSubview(photoMask) photoMask.addSubview(view2) view2.addSubview(takePhotoButton) 

Luego, ocultar el button en el método,

 func takePhoto(takePhotoButton: UIButton!) { takePhotoButton.hidden = true } 

en Swift 3.0, debe usar isHidden lugar de hidden

 subview.isHidden = true 

particularmente en este caso,

 self.subview.isHidden = true 

Haz una variable de reference del button. Establezca su propiedad oculta en verdadero por esto.

 self.yourReferenceVariable.hidden = true