2012-05-03 17 views
9

Bir uygulamada başlangıç ​​sekme çubuğu seçiminde sorun yaşanırken (yani, en soldaki sekmeden ziyade uygulama başlatıldığında ortadaki sekme seçilir). Uygulamada storyboard'lar kullanılıyor ve sekme çubuğu denetleyicisi daha sonra storyboard yöntemi ile geliştirmeye eklendi.İlk sekme çubuğu seçiminin program aracılığıyla nasıl değiştirileceği

tabBarController.selectedIndex = 1; 

(Özel bir görünüm denetleyicisi benim sekme çubuğunun sadece varsayılan UITabBarController bağlı olmadığı için) Yukarıdaki kod çalışmaz:

Bazı googling Done ve birçok farklı kaynaklara baktım Apple'ın şablonu Sekme Çubuğu Uygulaması kullanılarak başlangıçta oluşturulmayan bir uygulama için tam olarak bir çözüm bulunamadı. Bu ilk görünüm denetleyicisi ve bir alt sınıf olmadığından sizin viewDidLoad

+0

bu proje için ilk görünüm denetleyicisi mi yoksa başka bir görünüm denetleyicisinden itilir:

AppDelegate.m yılında

, sizin application:didFinishLaunchingWithOptions: yöntemine aşağıdakileri ekleyin? – lnafziger

+0

Sekme çubuğu denetleyicisi ilk görüş denetleyicisidir. – LazerLex

cevap

28

bu kullanarak

+2

Çok zekisiniz. Mükemmel çalıştı. İlk bakış kontrolörü olduğu için AppDelegate'de yapmak zorunda olduğumu anlamlandırıyor. Teşekkürler. – LazerLex

+1

Gelecekte başvurmak için, benzer bir şey yapmanız gereken ve başlangıçtaki görüntü denetçisinin olmadığı durumda, yüklemeden önce olan ve oradan ayarlanan görünümde "prepareForSegue" öğesini aşacaksınız. – lnafziger

1

tabBar setSelectedItem: denemeydi size appDelegate bu ayarlamanız gerekir.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    // Select the left-most tab of our initial tab bar controller: 
    UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController; 
    tabBar.selectedIndex = 0; 
    return YES; 
} 
+0

işe yaramaz çünkü Tab Bar'ım için belirli bir görünüm denetleyicim yok (bir viewDidLoad yöntemiyle). Sekme çubuğum için oluşturulmuş bir çıkışım yok. Sadece Storyboard'larda oluşturulan varsayılan. – LazerLex

+0

Bir view controller.h ve .m ekledim ve TabBarController ile bağladım. Bir UITabBarController çıkışı oluşturdum ve seçilen dizini kullandım. ve sonra ne dediğinizi (bir UITabBar çıkışı oluşturma ve setSelectedItem kullanarak) ve hala hiçbir şey denedim:/ – LazerLex

İlgili konular