質問

私は5つのビューコントローラを管理UITabBarControllerを持っています。ビューがロードされる前に、彼らが表示されるように、私は彼らの「初期化」の方法で彼らのタブバーの項目を作成します。非常に多くの方法があるようですので、私はちょうど、私はそれを行う必要がありますどのような方法と思いまして。例えば、私の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;
}

どっち私はそれを行う必要がありますか?そして、なぜtabBarItemとビューコントローラの両方のタイトルはありますか?そして、私は私が(最初の方法で設定されている)タグを必要としないと思います。

感謝!!

役に立ちましたか?

解決

さて、私の意見では、次のいずれかの方法を使用すると、1つの行にUIImageを宣言し、それをすべてのインラインを行うのではなく、別のラインでそれを設定したときに、それはより読めるかもしれない、OKですが、最後に、あなたは同じ結果を得ますます。

TabBarItemsはタブバー項目iteselfに表示されるテキストでタイトルを持っています。ビューコントローラは、設定されたときにビューコントローラのタイトルがNavigationControllersナビゲーションバーに表示され、ナビゲーションコントローラの目的のためにタイトルを持っています。そして、あなたはタグ、タグが必要です誰かがそれをクリックすると(uは自分でTabBarのを管理する場合)あなたは離れて、ボタンを伝える方法です。

他のヒント

タイトルを設定するには、いくつかの方法がある理由は、convieneceのためです。あなたは、ナビゲーションバーとタブバー内の1つのタイトルに1つのタイトルを表示したい場合があります。

この実際には非常に一般的なタブバーのテキストを表示するために、より少ないスペースがあるので。

ココアで多くのもののように、それを行うには複数の方法があります。あなたが心配する必要がある唯一の「正しさ」自分の状況に最も適したものです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top