4

iOS には、タブ バーをカスタマイズするための setFinishedSelectedImage:withFinishedUnselectedImage: が含まれています。高さ 49 のテクスチャをいくつか作成したところ、下部に奇妙な黒い境界線が表示されました。次に、アルファチャンネルを追加した後、画像が約 4 ポイント上にずれていることが問題であることに気付きました。スクリーンショットを送ります。さらに、これも同じ問題 (黒い奇妙な線) がありますが、見にくいです。 http://kurrytran.blogspot.com.es/2011/10/ios-5-tutorial-creating-custom-tab-bar.html

ここに画像の説明を入力

これはコードです: UIImage *selectedImage0 = [UIImage imageNamed:@"count_button_pressed"]; UIImage *unselectedImage0 = [UIImage imageNamed:@"count_button_released"];

UIImage *selectedImage1 = [UIImage imageNamed:@"date_button_pressed"];
UIImage *unselectedImage1 = [UIImage imageNamed:@"date_button_released"];

UIImage *selectedImage2 = [UIImage imageNamed:@"stats_button_pressed"];
UIImage *unselectedImage2 = [UIImage imageNamed:@"stats_button_released"];

UITabBar *tabBar = self.tabBar;
UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
UITabBarItem *item2 = [tabBar.items objectAtIndex:2];

[item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
[item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
[item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];

何が起こるか知っていますか?前もって感謝します。

4

2 に答える 2

2

tabbaritem 完成したイメージは、標準のタブ バー アイテム アイコンの代わりになるため、タブ バーの垂直方向の中央には配置されません。

タブ バー アイテムの画像が上部に移動されるため、タブ バー アイテムのタイトル テキスト用のスペースが残されます。

tabbaritem 完成した画像にはアイコンのみを含める必要があります。タブバーで選択した項目の背景を変更するには、UITabBar の selectionIndicatorImage プロパティを使用します

于 2012-04-05T17:26:23.743 に答える
0

透明な画像を作成し、それを選択画像として使用するように UITabbar を構成できます。私の意見では、それは明確でエレガントです:)

// Create Transparent image on the fly
CGRect rect = CGRectMake(0, 0, 1, 1);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]);

CGContextFillRect(context, rect);
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
// Set tabbar selection image to be the transparent image we've created before
tabBar.selectionIndicatorImage = img;
于 2012-11-03T21:02:54.957 に答える