0

独自のデザインをタブ バーに実装しようとすると問題が発生します。アイテムと背景が同じ高さであっても、どういうわけか正しく整列しません。ボタンが背景よりも上にあるように見えますが、その理由がわかりません。

項目/ボタンを実装するためのコード: (これは、「Tab1ViewController.m」の「viewDidLoad」に追加されます。これは、5 つのビュー コントローラーの最初のものです)

UIImage *selectedImage0 = [UIImage imageNamed:@"searchSEL"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"search"];

UIImage *selectedImage1 = [UIImage imageNamed:@"homeSEL"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"home"];

UIImage *selectedImage2 = [UIImage imageNamed:@"dareSEL"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"dare"];

UIImage *selectedImage3 = [UIImage imageNamed:@"starSEL"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"star"];

UIImage *selectedImage4 = [UIImage imageNamed:@"friendsSEL"];
UIImage *unselectedImage4 = [UIImage imageNamed:@"friends"];

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];
UITabBarItem *item3 = [tabBar.items objectAtIndex:3];
UITabBarItem *item4 = [tabBar.items objectAtIndex:4];

[item0 setTitle:@""];
[item1 setTitle:@""];
[item2 setTitle:@""];
[item3 setTitle:@""];
[item4 setTitle:@""];
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
[item4 setFinishedSelectedImage:selectedImage4 withFinishedUnselectedImage:unselectedImage4];

背景を追加するために、このコードを appDelegate.m の didFinishLaunchingWithOptions に追加しました

UITabBar *tabBar = [UITabBar appearance];
[tabBar setBackgroundImage:[UIImage imageNamed:@"bg"]];

ボタンは 64x49px、背景は 320x49px です。

しばらくの間、コメントに返信したり読んだりすることはできませんが、誰かが助けてくれることを願って、できるだけ早く返信します.

4

1 に答える 1

0

まあ、それを理解し、それは一種の明白でした。アイテムの下の部分は、タイトルがあるべき場所です。そして、私のアイコンはタイトル スペースではなくアイコン スペースを占有しただけだったので、タイトルが配置される場所の下に空白がありました。

バーの背景画像全体を作成し、代わりに指定された境界線とグラデーションを作成することで問題を解決し、アイコンを小さな白/黒の画像と透明な背景として個別に作成しました。

于 2013-02-12T15:49:28.850 に答える