2016-03-23 21 views
1

Yani ben bir sekme çubuğu denetleyicisi var ve ikinci sekmesine seçtiğinizde bir tablo görünümünde denetleyicisi getiriyor. ViewWillAppear, hücrelerin içinde canlandırdığı şekilde ayarlamaya başladım. Sorun şu ki, bu görüşe ilk girdiğimde, her şey durağan, ama başka bir sekmeye gidip geri dönersem, her şey mükemmel bir şekilde canlandırır.Swift viewWillAppear çağrıldığını değil ilk kez usingTabBarController

nasıl ben de sekmesine gidin ilk kez animasyon alabilirim? Bunun soruya cevap yardımcı olacaktır sanmıyorum çünkü

Ben kodu dahil değil. İstediğim gibi sekmeye kadar defalarca gidebilir ve her seferinde animasyon, ancak uygulamanın ilk yüküne animasyon asla *

Düzen.

+0

viewWillAppear her sekme .as o ekrana gitmek her zaman cal olacak yardımcı olur ve her gezinti kontrol viewcontrollers içeriyor ... bu yüzden benim bakış açımı oluşturur. – sourav

+0

@sourav Bu benim de düşüncelerimdi, fakat bir iPhone'da ve simülatörde test ettikten sonra, ilk gittiğimde, ona her gittiğimde gayet iyi çalışıyor. – Dallas

+0

viewdid yüklendikten sonra tabloyu temsilci ve veri kaynağını ayarlayın ve tabloyu viewdidload'dan sonra yeniden yükleyin. – sourav

cevap

1

Aynı sorunu yaşadım. Aşağıdaki "ViewDidAppear" den denedim ve çalışıyor.

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
      self.tableView.reloadData() 
     }) 
+0

Kısmen çalıştığım, bununla uğraştığım hata, bir saniyenin kesilen kısmının verilerini gösterir ve sonra da animasyonu yapar. Bunu, viewDidLoad öğesinde "tableView.hidden = true" ifadesini ekleyerek ve sonra arama yaparken Yukarıdaki viewWillAppear da "tableView.hidden = false" ekledi. Küçük bir değişiklik ile bir çekicilik gibi çalıştı, teşekkürler ton. – Dallas

1

ViewDidAppear ile çok benzer bir sorun yaşadım. Benim sorunum bazı şeyler yapmak için TabBarController yılında viewDidAppear fonksiyonunu denilen ama çağrı super.viewDidAppear (doğru) Bu metodda unuttuğunu oldu. Bu nedenle çocuğun viewDidAppear'ı aranmadı. Ben ekledikten sonra her şey bir çekicilik gibi çalışır.

Bu nedenle, super.viewDidAppear(true) eklediğinizden veya super.viewWillAppear(true) durumunuza TabBarController uygulamasında eklediğinizden emin olun. Belki sorun çıkmaması gerekir bir navigasyon denetleyicisi içeren

İlgili konular