7

外観APIを使用してカスタマイズするUITabBarを作成しようとしています。UITabBarItemからタイトルラベルを削除し、画像のサイズを変更して中央に配置しようとしています。タイトルテキストを削除するだけで、画像の下とバーの下部に空きスペースができます。

タイトルなしでUITabBarItemを作成する方法を知っている人はいますか?

4

3 に答える 3

11

タイトルを設定しnilてアイコンを移動

self.tabBarItem = [[UITabBarItem alloc] initWithTitle:nil
                                                image:[[UIImage imageNamed:@"icon_tabbar_inactive.png"]
                                                    imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
                                        selectedImage:[[UIImage imageNamed:@"icon_tabbar_active.png"]
                                                    imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

// Move the tabbar icon to the middle of tabbar
self.tabBarItem.imageInsets = UIEdgeInsetsMake(6.0, 0.0, -6.0, 0.0);
于 2015-03-12T11:15:08.727 に答える
7

ちょうど今日同じタスクを作成しました。

アイテム画像にタブバーの全スペースを使用できないため、ユーザーがタブを押したときにタブバーの背景を変更するだけです。

  1. したがって、最初のステップは、選択されたすべてのタブにフル サイズのボタンを含む背景画像を準備することです。

  2. 次に、カスタム クラスを作成し、タブ バー コントローラーに割り当てます。

  3. カスタム クラスで、ViewDidLoad の最初のタブの背景画像を設定します。

    [[self tabBar] setBackgroundImage:[UIImage imageNamed:@"tabShopsActive"]];
    [[self tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabSelection"]];
    
  4. ViewWillAppear のすべての UIController に背景の変更を追加します。

    UITabBarController *bar = [self tabBarController];
    [bar.tabBar setBackgroundImage:[UIImage imageNamed:@"tabDiscountsActive"]];
    

したがって、ユーザーが任意のタブを押すと、Tab Bar の背景が変更され、正しい画像が表示されます。

2番目のタブが選択されたときの結果のタブバーです:

ラベルのないタブ バー

于 2013-08-13T17:11:57.167 に答える