web-dev-qa-db-fra.com

Sélectionnez un élément de la barre d'onglets par programme (sans utiliser UITabBarController)

J'ai une vue dérivée de UIViewControler (pas UITabBarController). Dans cette vue, j'ai ajouté une barre d'onglets avec plusieurs éléments de barre d'onglets. J'ai utilisé UITabBarDelegate pour permettre à la vue de faire quelque chose lorsque les utilisateurs tapent sur chaque élément de la barre d'onglets.

class MyViewController: UIViewController, UITabBarDelegate {

    func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {
        // do something
    }
}

Ma question est de savoir comment sélectionner par programme le premier élément de la barre d'onglets lors du premier chargement de la vue? Notez que je voudrais que le premier élément de l'onglet soit également dans l'état "actif".

Encore une fois, je n'utilise pas UITabBarController

Merci

20
tala9999
[tabBar setSelectedItem: [tabBar.items objectAtIndex:0]];

Ce qui, à Swift, serait:

tabBar.selectedItem = tabBar.items![0] as UITabBarItem
39
Foster Bass

Swift 3:

tabBarController.selectedIndex = 0 // (or any other existing index)
10
Aliens

Dans Swift si la barre de tabulations est utilisée, pas tabbarcontroller définir la sélection par défaut

var tabbar:UITabBar?//if declare like this

tabbar!.selectedItem = self.tabbar!.items![0] as? UITabBarItem

ou

let tabbar = UITabBar()//if declare and initilize like this

tabbar.selectedItem = self.tabbar.items![0] as? UITabBarItem
4
Ravi Kumar

si vous dans UITabBarController vous pouvez utiliserself.selectedIndex = // set target index

3
Monir Khlaf

Dans Xamarin.ios, nous pouvons utiliser comme ceci mainTabBarController.selectedIndex = 3;

0
Anisetti Nagendra

Avant de sélectionner l'élément de barre d'onglets actif lors de l'événement viewDidLoad

[self.tabBar setSelectedItem: [self.tabBar.items objectAtIndex: 0]];

0
Andres Ortiz