Uygulama açılışında, root view controller olarak UITabBarController var. Bu sekme çubuğu için toplam 7 ViewControllers var. Aşağıdaki yoksa yöntemle application(application:didFinishLaunchingWithOptions:)
yılında AppDelegate.swift
İçinde, düzgün çalışır:Uygulama başlangıcında UITabBarController için 3'ten büyük bir indeks seçin. Çalışmıyor
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
self.tabBarController = self.window?.rootViewController as! UITabBarController
self.tabBarController.selectedIndex = 2
return true
}
Bu mükemmel çalışıyor ve uygulama başlatıldığında sekme çubuğunda üçüncü öğesi seçilir.
Ancak, daha fazla gezinme denetleyicisine (yani 3'ün ötesindeki herhangi bir dizin anlamına gelir) giren herhangi bir öğeyi seçmek istediğimde, self.tabBarController.selectedIndex = 5
yalnızca çalışmaz. Bahsedilen ifade, uygulama lansmanı tamamlandıktan sonra herhangi bir bölümde çalışır, yani, ilk ViewController'ın viewDidAppear
içinde self.tabBarController.selectedIndex = 5
yapsam çalışır; ancak uygulama başlatıldığında, yani application(application:didFinishLaunchingWithOptions:)
'da çalışmaz. Sekme çubuğu seçilen öğe, lansman gerçekleştikten sonra varsayılan olarak kalır. Seçili endeksi, uygulamanın başlangıcında 3'ten (moreNavigationController
'un altına düştüğünde) değiştirebileceğim yol nedir?
http://stackoverflow.com/a/33375674/2303865 –
@Leo Dabus, Uygulama başlatıldığında push bildiriminin derin bağlantısını ele almak istiyorum. Bu yüzden, uygulamamda ve itme bildiriminde bulunmuyorsa, push bildirimi tıklıyorum. Bu noktada, 'application (application: didFinishLaunchingWithOptions:) 'tetiklenir, ancak ilk görüntüleme denetleyicisi hala yüklü değil, bu nedenle gözlem denetçisinin, denetleyici örneği gözlemek için uygun olmadığından bu noktada nasıl çalışır? –
Önerinizi denedim. Ne yazık ki çalışmıyor :( –