では、カスタムタブバーを作成しようとしています。私は100のチュートリアルを読み、半分の数のサンプルコードプロジェクトをダウンロードしましたが、この問題はまだすべてにあるようです。
カスタムの背景は必要ありません。ボタンが領域全体を占めるようにして、背景が表示されないようにしたいのです。背景とボタンに49px(Retinaの場合は98px)のサイズの画像を使用すると、タブバー自体が拡大され、Appleが追加する醜い輝きが見えるのはなぜですか?
これが私が使用したコードです(ここでStackにあります):
UIImage *selectedImage0 = [UIImage imageNamed:@"transactions_tab_btn_active"];
UIImage *unselectedImage0 = [UIImage imageNamed:@"transactions_tab_btn"];
UIImage *selectedImage1 = [UIImage imageNamed:@"bills_tab_btn_active"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"bills_tab_btn"];
UIImage *selectedImage2 = [UIImage imageNamed:@"messages_tab_btn_active"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"messages_tab_btn"];
UIImage *selectedImage3 = [UIImage imageNamed:@"reports_tab_btn_active"];
UIImage *unselectedImage3 = [UIImage imageNamed:@"reports_tab_btn"];
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];
UIImageView *tabBarImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tab_bar"]];
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 5) {
[tabBar insertSubview:tabBarImageView atIndex:0];
}else{
[tabBar insertSubview:tabBarImageView atIndex:1];
}
[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];
[item3 setFinishedSelectedImage:selectedImage3 withFinishedUnselectedImage:unselectedImage3];
繰り返しになりますが、その背景画像は役に立たないので削除できますが、それがないと、タブバーのデフォルトの黒い背景が表示されます。両方とも悪い。助けてください。