SORU
5 ŞUBAT 2013, Salı


UİRefreshControl - beginRefreshing UİTableViewController içinde UİNavigationController olduğunda çalışmıyor

Benim UİTableViewController bir UİRefreshControl kurdum içinde bir UİNavigationController) ve beklendiği gibi (yani aşağı çekme yangınlar doğru olay) çalışır. Ben ancak, program aracılığıyla yenileme denetimi beginRefreshing örnek yöntemini çağırır gibi:

[self.refreshControl beginRefreshing];

Hiçbir şey olmuyor. Aşağıya animasyon ve spinner göstermelidir. endRefreshing yöntemi yenile sonra aradığımda düzgün çalışıyor.

Bu davranış, temel prototip bir proje hazırladım ve benim UİTableViewController doğrudan uygulama temsilcinin kök görünümü denetleyicisi, e eklendiğinde düzgün çalışıyor.g:

self.viewController = tableViewController;
self.window.rootViewController = self.viewController;

Ama eğer bir UİNavigationController ilk tableViewController eklerseniz, o zaman rootViewController, beginRefreshing Bu yöntem artık çalışmıyor gibi gezinti denetleyicisi ekleyin. E. g.

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableViewController];
self.viewController = navController;
self.window.rootViewController = self.viewController;

Benim düşüncem bu gezinti denetleyicisi içinde hiyerarşileri yenileme denetimi ile güzel oynamıyor iç içe görünümü ile ilgili bir şey var - herhangi bir öneri?

Teşekkürler

CEVAP
18 Mart 2014, Salı


UİTableViewController vardırautomaticallyAdjustsScrollViewİnsetssonra iOS 7 özelliği. Tablo görünümünü zaten contentOffset, genellikle (0, -64) olabilir.

Yani programmingly ferahlatıcı başladıktan sonra refreshControl göstermek için doğru yolu mevcut contentOffset için refreshControl yükseklik ekliyor.

 [self.refreshControl beginRefreshing];
 [self.tableView setContentOffset:CGPointMake(0, self.tableView.contentOffset.y-self.refreshControl.frame.size.height) animated:YES];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • We've moved!

    We've moved!

    7 Ocak 2008
  • Maya Learning Channel

    Maya Learnin

    23 HAZİRAN 2010