Ho un UIView personalizzato con un UITapGestureRecognizer ad esso collegato. Il riconoscimento gesto chiama un metodo chiamato nascondere() per rimuovere la vista dal superview quanto tale:È possibile chiamare un gestore di completamento blocchi da un'altra funzione in iOS?
func hide(sender:UITapGestureRecognizer){
if let customView = sender.view as? UICustomView{
customView.removeFromSuperview()
}
}
l'UICustomView ha anche un metodo show() che aggiunge come una visualizzazione secondaria, come tale:
func show(){
// Get the top view controller
let rootViewController: UIViewController = UIApplication.sharedApplication().windows[0].rootViewController!!
// Add self to it as a subview
rootViewController.view.addSubview(self)
}
il che significa che posso creare un UICustomView e visualizzarla come tale:
let testView = UICustomView(frame:frame)
testView.show() // The view appears on the screen as it should and disappears when tapped
Ora, voglio trasformare il metodo mio show() in un metodo con un blocco di completamento che viene chiamato quando la pelle () viene attivata la funzione. Qualcosa di simile:
testView.show(){ success in
println(success) // The view has been hidden
}
Ma per farlo avrei dovuto chiamare il gestore completamento del metodo show() dal mio metodo hide(). È possibile o sto trascurando qualcosa?
Intelligente! E funziona come un fascino, grazie a @GoZoner :) – Audioy