2

次のコードを使用して UIBarButtonItem を作成しています。

UIBarButtonItem* searchBarButton = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search_picto"] style:UIBarButtonItemStyleBordered target:self action:@selector(actionSearch:)] autorelease];
searchBarButton.tintColor = [UIColor colorWithRed:0.27 green:0.60 blue:0.20 alpha:1.00];

これと別のボタンをUIToolbarに追加しますが、それが関連しているかどうかはわかりません。これはうまく機能し、意図した外観が得られます。

UIButtonBarItem のスクリーンショット

問題は、iOS 4 (これをサポートする必要があります) では、tintColor を設定できないことです。認識されないセレクター。iOS 4 でこのようなボタンを作成するにはどうすればよいですか? tintColor を設定し、UIBarButtonItemStyleBordered を設定できるようにする必要があります。

ご協力いただきありがとうございます。


私はそれを次のように動作させました:

UISegmentedControl* searchButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"", nil]];
[searchButton setImage:[UIImage imageNamed:@"search_picto"] forSegmentAtIndex:0];
searchButton.momentary = YES;
searchButton.segmentedControlStyle = UISegmentedControlStyleBar;
searchButton.tintColor = [DELEGATE.config getColor:IFXShopConfigScopeShop name:@"navigationTint"];
[searchButton addTarget:self action:@selector(actionSearch:) forControlEvents:UIControlEventValueChanged];

1 つの空の NSString で初期化する必要があります。そうしないと、イメージを設定できません。また、 addTarget を使用する必要がありますUIControlEventValueChanged

4

2 に答える 2

2

tintColorは iOS5 で追加されました。iOS4 の場合は、ここに解決策があります

于 2012-11-14T08:34:45.950 に答える
1

を作成し、UIButton自分でこのように見えるようにボタンを描画するか、これで背景画像を設定UIBarButtonItemし、カスタム ビュー (自分のUIButton) で を初期化する必要があります。

PS iOS6 のリリース以降、armv6 にコンパイルすることはできなくなり、サポートできる最低バージョンは 4.3 です。

于 2012-11-14T08:36:15.503 に答える