2016-04-13 12 views
0

Sınama uygulamasında sekme çubuğu denetleyicisine gömülü iki görüntü denetleyicisine (VC1 ve VC2) sahibim. Her görünüm denetleyicisi üçüncü görünümü denetleyicisi bizi taşımak "Git" düğmesini (VC3) adres: VC1 olarakSızdırmazlık beni yanlış görüntü denetleyicisine götürüyor

my storyboard

Ben işlevini

@IBAction func unwindFromVC3(segue: UIStoryboardSegue) { 
    print("Unwind from VC3") 
} 

ve VC3 ait bağlanmış "Kaydet" çubuk öğe ekledi VC3 için "Çıkış" simgesiyle.

Uygulamamı çalıştırdığımda ve VC1'in "Atla" düğmesine tıkladığımda, VC3'e taşındım ve "Kaydet" i tıklattığımda, VC1'e geri döndüm. Bu iyi.

VC2 çubuğuna gidip oradan "Atla" yı tıklarsam, VC3'e yeniden taşındım. Ama oradan "Kaydet" e tıklarsam, tekrar VC1'e (VC3 değil) geri döndüm.

Orada bir şey olmadığından (VC2'de herhangi bir "gevşeme" işlevim olmadığından) bekleniyor. O zaman neden VC1'e taşındım? "Kaydet" öğem için iki çözme eylemi oluşturmak mümkün mü? geri VC2 için VC3 gevşemek istiyorsanız

+0

Kullanıcı geçişleri VC2-> VC3'ten ne zaman gelir ve sonra "Kaydet" i tıkladığında ne yapmak istersiniz? – vacawama

+0

Gerçek uygulamada kullanıcı VC3'te bazı nesne ayrıntılarını düzenleyebilecek. Böylece kullanıcı Kaydet'i tıkladığında, ayrıntılar kaydedilmeli ve kullanıcı VC2'ye geri dönecektir. – light

+0

Cevabımı aşağıya bakın. – vacawama

cevap

1

, basitçe yanı VC2 için unwindFromVC3 ekleyin:

@IBAction func unwindFromVC3(segue: UIStoryboardSegue) { 
    print("Unwind from VC3") 
} 

Sonra açma segue doğru viewController (VC3 için segued bir) gevşeyin olacaktır.

Sadece bir kez açma denetimini ayarlamanız gerekir, ve VC3'e geçiş yapan tüm ViewControllers unwindFromVC3'u uyguladığı sürece, kaydetme kaynak ViewController'a döner.

+0

Oh, anlıyorum. Teşekkür ederim! – light

İlgili konular