Domanda

Ho un UITabBarController che gestisce 5 View Controller. Creo i loro oggetti barra delle schede in loro metodi "Init" in modo che possano essere visualizzati prima che la vista è caricato. Mi chiedo solo che senso dovrei farlo, perché sembra esserci tanti modi. Ad esempio, per il mio DatePickerViewController:

- (id)init {
    if((self = [super init])) {
        // ================ THIS ==========================
        UIImage *clockIcon = [UIImage imageNamed:@"clockicon.png"];
        UITabBarItem *localTabBarItem = [[UITabBarItem alloc]
                initWithTitle:@"Date" image:clockIcon tag:0];
        [self setTabBarItem:localTabBarItem];
        [localTabBarItem release];
        // ================ OR THIS ========================
        [self setTitle:@"Date"];
        UITabBarItem *localTabBarItem = [[UITabBarItem alloc] init];
        [localTabBarItem setImage:[UIImage imageNamed:@"clockicon.png"]];
        [self setTabBarItem:localTabBarItem];
        [localTabBarItem release];
        // ================ OR THIS ========================
        UITabBarItem *localTabBarItem = [[UITabBarItem alloc] init];
        [localTabBarItem setTitle:@"Date"];
        [localTabBarItem setImage:[UIImage imageNamed:@"clockicon.png"]];
        [self setTabBarItem:localTabBarItem];
        [localTabBarItem release];
    }
    return self;
}

In che modo dovrei farlo? E perché c'è un titolo sia per il tabBarItem e il controller View? E non credo di aver bisogno il tag (che si trova nel primo metodo).

Grazie !!

È stato utile?

Soluzione

Bene, a mio parere uno dei seguenti modi sono ok, potrebbe essere più readible quando si dichiara l'UIImage in una riga e metterlo in una linea diversa, piuttosto che fare tutto in linea, ma alla fine si ottiene lo stesso risultato .

I TabBarItems hanno un titolo che è il testo che verrà visualizzato nella barra delle schede oggetto iteself. View Controller hanno un titolo per scopi controller di navigazione, il titolo della vista Controller viene visualizzata nella NavigationControllers NavBar quando è impostato. E avete bisogno di tag, tag è il modo in cui si raccontano i pulsanti a parte quando qualcuno clicca su di loro (quando u gestire il TabBar da soli).

Altri suggerimenti

La ragione per cui ci sono diversi modi per impostare il titolo è per convienece. Si consiglia di visualizzare un titolo nella barra di navigazione e un documento nella barra delle schede.

Questo in realtà abbastanza comune in quanto c'è meno spazio per visualizzare il testo nella barra delle schede.

Come molte cose in Cocoa, c'è più di un modo per farlo. L'unica "correttezza" è necessario essere preoccupati è quello che funziona meglio per la vostra situazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top