Mam niestandardowe UIView z dołączonym do niego UITapGestureRecognizer. Gest rozpoznawania wywołuje metodę o nazwie hide(), aby usunąć widok z SuperView jako takie:Czy można wywołać obsługę zakończenia bloku z innej funkcji w systemie iOS?
func hide(sender:UITapGestureRecognizer){
if let customView = sender.view as? UICustomView{
customView.removeFromSuperview()
}
}
UICustomView posiada również metodę show(), która dodaje go jako podrzędny, jako takich:
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)
}
co oznacza, że mogę stworzyć UICustomView i wyświetlić go jako takie:
let testView = UICustomView(frame:frame)
testView.show() // The view appears on the screen as it should and disappears when tapped
teraz chcę, aby włączyć metodę mój show() do metody z blokiem realizacji, która jest wywoływana, gdy hide () Wywoływana jest funkcja. Coś jak:
testView.show(){ success in
println(success) // The view has been hidden
}
Ale żeby to zrobić musiałbym zadzwonić do obsługi zakończenia metody show() z metody moim hide(). Czy to możliwe, czy też coś przeoczyłem?
Sprytnie! I działa jak urok, dzięki @GoZoner :) – Audioy