Question

J'ai un UITabBarController qui gère 5 contrôleurs de vue. Je crée leurs éléments de la barre d'onglet dans leurs méthodes « init » afin qu'ils soient affichés avant que la vue est chargé. Je me demande de quelle façon je devrais le faire, car il semble y avoir tant de façons. Par exemple, pour mon 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;
}

Quel chemin dois-je faire? Et pourquoi est-il un titre à la fois la tabBarItem et le contrôleur View? Et je ne pense pas avoir besoin de l'étiquette (qui est fixé dans la première méthode).

Merci !!

Était-ce utile?

La solution

Eh bien, à mon avis l'une de ces manières sont ok, il pourrait être plus readible lorsque vous déclarez la UIImage en une ligne et le mettre dans une autre ligne plutôt que de le faire tout en ligne, mais à la fin vous obtenez le même résultat .

Les TabBarItems ont un titre qui est le texte qui apparaîtra dans l'élément de barre d'onglets iteself. Contrôleurs de vue ont un titre à des fins contrôleur de navigation, la vue Contrôleurs titre est affiché dans la barre de navigation NavigationControllers lorsqu'il est réglé. Et vous avez besoin d'étiquettes, les étiquettes est la façon dont vous dire les boutons en dehors quand quelqu'un clique sur eux (quand u gérer TabBar sur votre propre).

Autres conseils

La raison pour laquelle il y a plusieurs façons de définir le titre est pour convienece. Vous pouvez afficher un titre dans la barre de navigation et un titre dans la barre d'onglet.

en fait assez courant car il y a moins d'espace pour afficher du texte dans la barre d'onglet.

Comme beaucoup de choses à Cocoa, il y a plus d'une façon de le faire. Le seul dont vous avez besoin d'être préoccupé par la « décision correcte » au sujet est ce qui fonctionne le mieux pour votre situation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top