外観APIを使用してカスタマイズするUITabBarを作成しようとしています。UITabBarItemからタイトルラベルを削除し、画像のサイズを変更して中央に配置しようとしています。タイトルテキストを削除するだけで、画像の下とバーの下部に空きスペースができます。
タイトルなしでUITabBarItemを作成する方法を知っている人はいますか?
外観APIを使用してカスタマイズするUITabBarを作成しようとしています。UITabBarItemからタイトルラベルを削除し、画像のサイズを変更して中央に配置しようとしています。タイトルテキストを削除するだけで、画像の下とバーの下部に空きスペースができます。
タイトルなしでUITabBarItemを作成する方法を知っている人はいますか?
タイトルを設定し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);
ちょうど今日同じタスクを作成しました。
アイテム画像にタブバーの全スペースを使用できないため、ユーザーがタブを押したときにタブバーの背景を変更するだけです。
したがって、最初のステップは、選択されたすべてのタブにフル サイズのボタンを含む背景画像を準備することです。
次に、カスタム クラスを作成し、タブ バー コントローラーに割り当てます。
カスタム クラスで、ViewDidLoad の最初のタブの背景画像を設定します。
[[self tabBar] setBackgroundImage:[UIImage imageNamed:@"tabShopsActive"]];
[[self tabBar] setSelectionIndicatorImage:[UIImage imageNamed:@"tabSelection"]];
ViewWillAppear のすべての UIController に背景の変更を追加します。
UITabBarController *bar = [self tabBarController];
[bar.tabBar setBackgroundImage:[UIImage imageNamed:@"tabDiscountsActive"]];
したがって、ユーザーが任意のタブを押すと、Tab Bar の背景が変更され、正しい画像が表示されます。
2番目のタブが選択されたときの結果のタブバーです: