2016-04-03 15 views
1

TabBar'ımdaki tüm öğeleri/nesneleri kaldırmak için iOS'taki davranışı arıyorum, ancak daha sonra bunları geri yükleyebileceksiniz.tabBarController'daki tüm nesneleri kaldırın ve sonra da varsayılan tabBar'ı geri yükleyin.

NSMutableArray *controllers = [NSMutableArray arrayWithArray:self.tabBarController.viewControllers]; 
[controllers removeAllObjects]; 
[self.tabBarController setViewControllers:controllers animated:YES]; 

Ama çıkarıldıktan sonra nasıl bir kez daha varsayılan TabBar geri yüklerim: tüm öğeleri kaldırmak için/Aşağıdaki kod iyi çalışıyor nesnelerin? Spesifik olmaya çalışın.

Şimdiden teşekkürler.

cevap

1
// backup the current viewcontrollers 
NSArray *viewControllerBackup = self.tabBarController.viewControllers; 

// remove tabs 
[self.tabBarController setViewControllers:@[] animated:YES]; 

// restore tabs 
[self.tabBarController setViewControllers:viewControllerBackup animated:YES]; 
+0

Bu kod, tabBar öğelerini kaldırır, ancak geri yüklemez:/Bir animasyon sorunundan mı kaynaklanıyor? Başka bir deyişle, tüm viewController'ını yeniden yüklemeye gerek kalmadan tabBar öğelerinin hiçbir yerden görünmesini sağlayabilirsiniz? – user1293618

+0

yapar. Görüntü denetleyicileri "güvenli" bir yerde yedeklemelisiniz. örnek projeme bir göz atın: https://github.com/slotti85/RestoreTabs –

İlgili konular