3

これらのアイコンをツールバーのバー ボタン項目として使用しています
http://stopiransnukes.org/images/home_icon.png
および
http://www.bladmuziekplus.nl/shop/files/images/icon_home.png
ただし、背景画像は変換されます黒でも自動的に白に。

コードで画像の背景を設定しようとしましたが、それでも白に変わります。

手動: 上の画像をプロジェクトにドラッグ + ドロップしました。バー ボタン項目を選択し、右側のバー (シールド アイコン) の 4 番目のオプションで別の色合いを選択し、バー ボタンの下のドロップダウン画像を上の画像に設定します。 .

プログラムで:

  [self.homeButton setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor blackColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];

   [[self.homeButton] setImage:[UIImage imageNamed:@"home_icon.png"]];

どうすれば修正できますか?
前もって感謝します。

.

4

4 に答える 4

2

UIButtonこれは、画像を追加し、それ自体の内部UIButtonとして追加するための段階的なプロセスです..これを完全に理解するためにいくつかの画像を追加します..custom viewUIBarButtonItemstoryboard

ステップ 1:ビュー toolbar内をドラッグ アンド ドロップするstoryboardビューにツールバーをドラッグ アンド ドロップします。

ステップ 2:をドラッグ アンド ドロップUIButtonします。view

ここに画像の説明を入力

ステップ 3:画像をドラッグ アンド ドロップします。UIButton

ここに画像の説明を入力

ステップ 4:をツールバーにドラッグ アンド ドロップするUIButtonと、右側の 内に追加できるようになりましたUIBarButtonItem。あとは、ボタンのアクション メソッドを接続するだけです。

ここに画像の説明を入力

于 2013-01-06T14:54:34.260 に答える
1

これは通常の動作です。これについては、ヒューマン インターフェイス ガイドラインを参照してください。

http://developer.apple.com/library/ios/documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW8

それを変更したい場合は、独自のサブクラスを作成する必要があります。

于 2013-01-06T12:44:37.753 に答える
1

viewDidLoad

[super viewDidLoad];

//uıbarButtonItem firstButtonItem,secondButtonItem
UIImage* firstButtonImage = [UIImage imageNamed:@"firstImageName"];;
CGRect frameimg = CGRectMake(0, 0, 30, 30);
UIButton * someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:firstButtonImage forState:UIControlStateNormal];
[someButton addTarget:self action:@selector(goToUserProfile)
     forControlEvents:UIControlEventTouchUpInside];
self.firstButtonItem = [[UIBarButtonItem alloc] initWithCustomView:someButton];


UIImage* secondButtonImage = [UIImage imageNamed:@"secondImageName"];
frameimg = CGRectMake(0, 0, 30, 30);
someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:secondButtonImage forState:UIControlStateNormal];
[someButton addTarget:self action:@selector(likePhoto)
     forControlEvents:UIControlEventTouchUpInside];
[someButton setTag:1];
self.secondButtonItem = [[UIBarButtonItem alloc] initWithCustomView:someButton];

[self.toolbar setItems:[self addItemsToToolbar]];

AddItemsToToolbar メソッド

- (NSMutableArray *)addItemsToToolbar{
NSMutableArray *items = [[NSMutableArray alloc] init];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[items addObject:flexSpace];
[items addObject:self.firstButtonItem];
[items addObject:flexSpace];
[items addObject:self.secondButtonItem];
return items;

}

于 2013-01-06T14:36:07.420 に答える
0
UIImage* infoButtonImage = [UIImage imageNamed:@"info_button.png"];;
CGRect frameimg = CGRectMake(0, 0, infoButtonImage.size.width, infoButtonImage.size.height);
UIButton * someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:infoButtonImage forState:UIControlStateNormal];
[someButton addTarget:self action:@selector(actionOfButton)
     forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem * infoButton = [[UIBarButtonItem alloc] initWithCustomView:someButton];

このコードはあなたの問題を解決します

于 2013-01-06T13:09:28.013 に答える