2016-04-08 38 views
2

Bir kullanıcı Navigasyon Denetleyicimde "Geri" düğmesine bastığında bazı eylemleri gerçekleştirmek istiyorum. Bu olduğunda, çağrılan bir Swift işlevi var mı? geri düğmesi veya basıldığında Bitti veya bir görünüm adlandırılan bu işlevini uzattıSwift: İşlev Geri basıldığında çağrılıyor

enter image description here

cevap

2
override func viewWillDisappear(animated: Bool) { 
// Do Your Lines of Code ... 
} 

Her şey .. Bunu geçersiz kılmak gerekir ..

+2

link viewController sunar veya başka viewController iter, bu da çağrılacak kullanarak Unutmayın:

gibi bir şey olmalı. – Slayter

2

bu deneyin:

override func willMoveToParentViewController(parent: UIViewController?) { 
    if parent == nil { 
     // Back button Event handler 
    } 
} 
+0

Bunu test ettim ve garip olan şey, bu işlevin görüntü denetleyiciye ulaşmadan önce ve aynı zamanda geri düğmesine tıkladığımda denenmesi. Ne yazık ki bu benim için çalışmayacak. Adbul'un işlevi, olması gerektiğinde çağrılır. – GED125

+1

Mevcut ViewController başka bir ViewController'a gitmeye devam ederse, Abdul'ın işlevi bir süre hata verir. – Khuong

+0

Bu yöntem hiç çağrılmıyor –

2

Bunu deneyin (kopyalanan ve maneradadan yapıştırılmış)

Yerine takma Başka bir cevapta önerildiği gibi özel bir düğmeye basmanız, varsayılan davranışı ve stili kaybedeceğinizden büyük bir fikir değildir.

Sahip olduğunuz diğer bir seçenek de View Controller'da ViewWillDisappear yöntemini uygulamak ve isMovingFromParentViewController adlı bir özellik olup olmadığını kontrol etmektir. Bu özellik doğruysa, Görüntüleyicinin kaldırıldığından (kaybolduğu için) kaybolduğu anlamına gelir.

override func viewWillDisappear(animated : Bool) { 
    super.viewWillDisappear(animated) 

    if (self.isMovingFromParentViewController()){ 
     // Your code... 
    } 
} 

Here diğer soruya

İlgili konular