2013-07-31 22 views
6

Temsilcimde TabBarController seçmem için farklı bir arka plan ile stil oluşturabilirim. Benim arayüz oluşturucu olarakHikaye panosundaki başka bir görünümden sekme denetleyicisi alın

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UITabBar *tabBar = tabBarController.tabBar; 
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1]; 

benim TabBarController bir Segue adla kurulum var: (Mainview Bu nerede Ancak sorun benim

Benim şu anki kod .. rootView üzerinde değildir TabBarController olmasıdır TabBarController bulunur).

TabBarController'umu nasıl seçebilirim?

+0

hangi bölümünün içinde kod tabBarController'ınızı seçmek ister misiniz? TabBar içinde bir UIViewController içinde, APPDelegate, ...? –

+0

Benim ilk satırında, ben self.window.rootViewController; 'i değiştirmek için TabBarController ile değiştirmek istiyorum – Alosyius

+0

Yea, ama ben sadece ViewController/yöntem hangi kod parçası çağıran olduğunu bilmek istiyorum –

cevap

9

İlk önce, görünüm hiyerarşinizde, TabBarController'ın nerede olduğunu bilmeniz gerekir. Kök denetleyiciniz değilse, TabBarController'ı çağıran UIViewController'ı bulun ve bu dosyayı segue veya bunun gibi bir şeyle referans alın.

Sizin için ne işe yarayabilir, ilkView UIViewController öğesinin viewDidLoad içindeki tabBarController özelliğine, tabViewController'ınızın sekmesindeki bir sekmede erişir. Tüm çocuk ViewBoyController ViewControllers bu özelliği var. MyViewController, böyle bir şey gerçekleştirmek olduğunu tabBar görüntülenen ilk UIViewController varsayarak Örneğin

: Eğer görünümden birini almak istiyorsanız

- (void)viewDidLoad 
{ 
    UITabBar *tabBar = self.tabBarController.tabBar; 
    UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 
    UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1]; 
} 
5

//if Custom class 
TabBarController *tabBar = (TabBarController *) self.tabBarController; 

//if Custom class with Navigation Controller 
TabBarController *tabBar = (TabBarController *) self.navigationController.tabBarController; 

//if Not Subclassed 
UITabBarController *tabBar = (UITabBarController *) self.tabBarController; 

//if Not Subclassed with Navigation Controller 
UITabBarController *tabBar = (UITabBarController *) self.navigationController.tabBarController; 
İlgili konular