Qualcuno può dirmi come impostare la scheda predefinita quando si utilizzano gli storyboard in iOS. Non riesco a capire come realizzare questo.Impostazione della scheda predefinita quando si utilizzano gli storyboard
Grazie
Qualcuno può dirmi come impostare la scheda predefinita quando si utilizzano gli storyboard in iOS. Non riesco a capire come realizzare questo.Impostazione della scheda predefinita quando si utilizzano gli storyboard
Grazie
È possibile utilizzare uno di questi due metodi:
tabBar.items = tabBarItems;
tabBar.selectedItem = [tabBarItems objectAtIndex:0];
o un metodo diretto dall'oggetto
[tabBar setSelectedItem:myUITabBarItem];
oppure è possibile combinarli per fare questo:
tabBar.items = tabBarItems;
[tabBar setSelectedItem:[tabBarItems objectAtIndex:0]];
ma non ho ancora provato questo metodo, spero che questo aiuti!
Come posso creare la proprietà di uscita per il controller Tabbar? Per favore fatemi sapere come sono nuovo allo storyboard –
sì, io personalmente faccio schifo a story board, posso mandarvi del codice se volete? –
fammi provare a trovare il codice esatto e metterlo su pastebin, altrimenti lo comprimo e lo metto sul mio sito web –
Il seguente codice ha funzionato per me:
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 2;
Questo codice presuppone che rootViewController sia tabBarController. Quale potrebbe non essere sempre vero. – oyalhi
UITabBarController
;Aggiungere questo alla fine del viewDidLoad
:
self.selectedIndex = 1;
Impostare questo nuovo file come la classe personalizzata nella UITabBarController
del vostro Storyboard.
Il gioco è fatto.
Great Solution ha funzionato perfettamente! – sabir
Mentre è possibile impostare la scheda iniziale selezionata a livello di codice come le altre risposte, per ottenere lo stesso nel vostro storyboard senza toccare il codice che si eseguire le seguenti operazioni:
Questo dovrebbe essere quello che sembra quando hai raggiunto i passaggi precedenti:
Non funziona in Xcode 6.3, iOS 8. – friedbunny
Questo funziona ancora per me su Xcode 6.3.1, iOS 8.3 - ulteriori dettagli sul problema che stai riscontrando in Jason? –
Probabilmente stranezze sulla mia estremità in quel caso; è un crash a '_NSSetUsingKeyValueSetter': http://pastie.org/10185899 – friedbunny
potrebbe sembrare eccessivo per alcuni a sottoclasse UITabBarController
, ma, penso che fornisce le s più puliti oluzione.
BaseTabBarController.swift
Aggiungi un @IBInspectable
e metterlo in viewDidLoad
:
class BaseTabBarController: UITabBarController {
@IBInspectable var defaultIndex: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
selectedIndex = defaultIndex
}
}
Nel storyboard, regolerà UITabBarController
di essere la tua nuova sottoclasse:
In realtà una fantastica soluzione per la riutilizzabilità, e abbastanza flessibile ancora da consentirne la gestione in codice se necessario. – brandonscript
Soluzione fantastica @Aviel. Grazie. – iamyogish
Annnd BOOM! Ecco la dinamite - ha funzionato (Xcode 7.3.1). Grazie – Jeeves
in AppDelegate trovare applicationDidBecomeActive
funzione e aggiungi a linee
let tabBarController = self.window?.rootViewController as! UITabBarController
tabBarController.selectedIndex = 0 // any index you want
Nel viewDidLoad()
del TabBarController
, impostare selectedIndex
a quello che vuoi (0
sarebbe la prima, 3
sarebbe la quarta , ecc.)
È possibile ottenere ciò tramite Xcode 8 o successivo (è sufficiente testarlo e non si sa se è disponibile prima di questa versione)
fare i passi, come ha detto Finch @Joshua ma:
"xcode 8 o prima": intendevi veramente "prima"? Sembra contraddire la seguente frase, "non so se è disponibile prima di questa versione". Forse intendevi "8 o maggiore"? –
Basandosi sulle Aviel Gross' risposta, io j abbiamo voluto implementarlo per un UITabBar, al contrario di un UITabBarController. Questo può essere fatto come segue:
class BaseTabBar: UITabBar {
@IBInspectable var defaultIndex: Int = 0 {
didSet {
self.selectedItem = self.items?[defaultIndex]
}
}
}
cosa intendete per scheda predefinita? Stai usando tabBarController e stai provando a selezionare la prima scheda quando l'app si avvia ?? –
assicurati che la tua domanda sia descrittiva e migliora anche la tua tariffa accettata. –
Ho creato un'applicazione a schede usando gli story board e voglio impostarlo in modo che la seconda scheda venga selezionata all'avvio dell'app. – user1145581