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
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];
İddia UİTableViewController içinde UİS...
UİRefreshControl UİTableViewController...
Nasıl kaydırma hareketi geri devre dış...
Yok'ınternet explorer içinde çalı...
Bash döngü içinde artış çalışmıyor say...