Comment puis-je définir la valeur par défaut de l'onglet de l'onglet de la barre de contrôleur de swift
Je suis nouveau sur Swift, et environ 5 de 10 sur la Objective-C de connaissances à l'échelle..
J'ai créé une base de trois onglet de demande rapide. Chaque onglet est associé à un swift fichier de classe, par exemple FirstViewController.swift , SecondViewController.swift, ThirdViewController.swift.
Lorsque je sélectionne le troisième onglet, j'ai maintenant, ouvrez l'application paramètres de préférence à l'aide d'un viewDidAppear
fonction de remplacer dans le ThirdViewController.swift, par exemple:
override func viewDidAppear(animated: Bool) {
//open app preference s
if let url = NSURL(string:UIApplicationOpenSettingsURLString) {
UIApplication.sharedApplication().openURL(url)
}
}
Si, avant l'ouverture de l'préférences, je tiens à mettre à l'actif de l'onglet retour sur le premier onglet. Comment est-ce fait avec élégance dans Swift.
Le code suivant ne fonctionne pas:
self.tabBarController.selectedIndex = 0
Comme le UIViewController
de la ThirdViewController classe n'ont pas de tabBarController
.
Brian.
Grâce Omkar. Pouvez-vous expliquer pourquoi cela fonctionne. Sans l'option de point d'interrogation, le compilateur membres UITabController? ne pas avoir un membre nommé selectedIndex'. Si au moment de l'exécution, il semble y en a un. La nouvelle swift et options. Aucune information serait appréciée.
Correction: un peu Cela fonctionne. La première fois que les paramètres de l'application sont ouverts, l'application des préférences de l'utilisateur ne sont pas répertoriés. La deuxième et plus de fois que je sélectionne l'onglet et ouvrez les paramètres de l'application, tous les paramètres sont maintenant sur la liste - si les préférences système sont présents. Cela semble être une application réglage de problème de synchronisation. J'ai posté une autre question concernant les réglages de l'application de synchronisation dans le stackoverflow.com/questions/26470391/...
OriginalL'auteur kauai | 2014-10-20
Vous devez vous connecter pour publier un commentaire.
Utilisateur Omkar répondu ci-dessus à la bonne réponse. Je peux réussir à basculer le premier onglet à l'aide de la suite de viewDidAppear dans ThirdViewController.swft
OriginalL'auteur kauai
J'ai suivi @Paolo Sangregorio façon dont Le code pour le faire comme suit
dans appdelegate trouver
applicationDidBecomeActive
fonction et ajouter ces lignesOriginalL'auteur zizutg
OriginalL'auteur Peter Wozniak
Si c'est un onglet de la barre de l'application, vous devriez avoir la tabbarcontroller variable dans votre appdelegate.
Vous pouvez définir l'onglet en cours en définissant la propriété selectedIndex sur cette variable, à partir de l'appdelegate.
OriginalL'auteur Paolo Sangregorio
Dans le cas où vous êtes à l'aide de la barre d'onglets élément
Swift 3
@IBOutlet faible var Tabbar: UITabBar!
remplacer func viewDidLoad() {
...
...
...
tabBar.selectedItem = tabBar.les éléments![newIndex]
}
OriginalL'auteur anson