1

5 つのビュー コントローラーを管理する UITabBarController があります。ビューがロードされる前に表示されるように、「init」メソッドでタブバー項目を作成します。いろいろな方法がありそうなので、どうしようか悩んでいます。たとえば、私の 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 と View Controller の両方にタイトルがあるのでしょうか? そして、タグは必要ないと思います(最初のメソッドで設定されています)。

ありがとう!!

4

2 に答える 2

1

私の意見では、これらの方法はどれでも問題ありません。UIImageをすべてインラインで行うのではなく、1行で宣言して別の行に設定すると読みやすくなる可能性がありますが、最終的には同じ結果が得られます。

TabBarItemsには、タブバーアイテム自体に表示されるテキストであるタイトルがあります。ビューコントローラには、ナビゲーションコントローラの目的でタイトルがあり、設定すると、ビューコントローラのタイトルがNavigationControllersNavBarに表示されます。また、タグは必要です。タグは、誰かがボタンをクリックしたときにボタンを区別する方法です(TabBarを自分で管理する場合)。

于 2009-08-20T20:06:56.160 に答える
0

タイトルを設定する方法がいくつかあるのは、利便性のためです。ナビゲーション バーに 1 つのタイトルを表示し、タブ バーに 1 つのタイトルを表示することができます。

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

Cocoa の多くのことと同様に、それを行う方法は複数あります。あなたが気にする必要がある唯一の「正しさ」は、あなたの状況に最も適したものです。

于 2009-08-20T22:39:41.280 に答える