2012-12-20 23 views
5

5 sekmeli bir TabBar'lı bir uygulamam var (özel sınıfsız normal sekme çubuğu). Uygulamayı başlattığımda sol sekme açılır. İlk önce ortayı açmasını istiyorum. Ben ilk açıldığında viewController arasında viewDidLoadUygulamayı tabanda belirli bir sekmede açın

[self.tabBarController setSelectedIndex:3]; 

koyarak denedim ama sekme anahtarlama değildir. Vurgulu ancak seçili olmadığını görebiliyorum. Yukarıdaki kodu viewWillAppear'un altına koyarsam, ilk çalıştırmada seçilecektir, ancak zaman zaman sol sekmeyi seçeceğim zaman, ortadakie atlayacaktır. Neyi yanlış yapıyorum

DetailsViewController* vc = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailsViewController"]; 
[self.navigationController pushViewController:vc animated:true];  

:

Ayrıca başarılı olamadı bu çalıştı?

+1

TabBar Arabirim oluşturucudan veya kod kullanarak eklenmiş mi? –

+0

Arabirim. Ve görüntüleyen denetleyicileri tetikleyen segaileri sürükleme – Segev

+0

Belki de sizi doğru anlarsam, [sonraki bağlantı] (http://stackoverflow.com/questions/4195316/iphone-how-i-hide-a-tab-bar-button) size yardımcı olur. – Neznajka

cevap

8

Bu, benim için çalışan tek çözüm. appdelegate:

UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController; 
[tabBar setSelectedIndex:2]; 
0

tabBarController.selectedIndex = desiredIndex; 

İçinde applicationDidLaunch aramak için bir ihtiyaç vardır.

+0

Bu benim için çalışmıyor. – Segev

0

uygulamada ayarlamayı deneyin: didFinishLaunchingWithOptions: senin tabbar kontrolör TabBarController ve Bir şey yapmış

-(void) viewDidLoad 
{ 
    [self.tabBarController setSelectedIndex:3]; 
} 
+0

"Appdelegate" de mi? Bu işe yaramadı – Segev

0

gibi rootViewController ise geçmişte hackish. Eğer herhangi bir yararlanabilirler eğer

for(viewController in arrayOfViewController) 
{ 
    // will load the view controller into memory 
    [viewController view]; 
} 

Bilmiyor: Ben etkin hale gelmesi her sekme için sırayla bulduk, benim applicationDidFinishLaunching içinde, ben bütün görünüm kontrolörleri ardından "Görünüm" özelliğine erişmek döngü gerekir onun.

0

konusu özel sınıfında film şeridi ayarladığınız özel sınıfta

`[self.window.rootViewController.tabBarController setSelectedIndex:3];` 
+0

kötülük + Bunun neden yardımcı olacağını göremiyorum ... –